Résultats de recherche (Recherche de : batterie)
- Ixio_Jo
[Home Assistant, MSunPV et Batterie DIY] Mes quelques travaux sur mon install
Catégorie : Vos installations
alias: Smart Charge
description: ""
triggers:
- entity_id:
- sensor.msunpv_powreso
trigger: state
conditions:
- condition: state
entity_id: input_boolean.battery_smart_charging
state: "on"
- condition: state
entity_id: input_select.battery_state
state: Charge
for:
hours: 0
minutes: 0
seconds: 5
enabled: true
actions:
- if:
- condition: numeric_state
entity_id: sensor.msunpv_powreso
above: 10
then:
- metadata: {}
data: {}
target:
entity_id: input_boolean.battery_smart_charging
action: input_boolean.turn_off
enabled: false
- action: input_number.set_value
metadata: {}
data:
value: |-
{{ min(
max(
-max(
min(states('sensor.msunpv_powreso')|float(0)|round(2) / states('sensor.test_controle_emerson_output_voltage')|float(0)|round(2) /2.0 ,3)
,0.1)| float(0)|round(2)
+states('input_number.emerson_control_current_ratio')|float(0)|round(2) ,5)
,30)
}}
target:
entity_id: input_number.emerson_control_current_ratio
- target:
entity_id:
- input_boolean.battery_smart_charging
data: {}
action: input_boolean.turn_on
enabled: false
else:
- if:
- condition: numeric_state
entity_id: sensor.msunpv_powreso
below: -10
then:
- metadata: {}
data: {}
target:
entity_id: input_boolean.battery_smart_charging
action: input_boolean.turn_off
enabled: false
- action: input_number.set_value
metadata: {}
data:
value: |-
{{min(
max(
max(
min(-1*states('sensor.msunpv_powreso')|float(0)|round(2) / states('sensor.test_controle_emerson_output_voltage')|float(0)|round(2) /2.0 ,3)
,0.1)| float(0)|round(2)
+states('input_number.emerson_control_current_ratio')|float(0)|round(2) ,5)
,30)
}}
target:
entity_id: input_number.emerson_control_current_ratio
- target:
entity_id:
- input_boolean.battery_smart_charging
data: {}
action: input_boolean.turn_on
enabled: false
else:
- if:
- condition: numeric_state
entity_id: sensor.msunpv_outbal
below: 14
- condition: state
entity_id: input_boolean.eau_chaude
state: "off"
enabled: false
then:
- metadata: {}
data: {}
target:
entity_id: input_boolean.battery_smart_charging
action: input_boolean.turn_off
enabled: false
- action: input_number.set_value
metadata: {}
data:
value: |-
{{ min(
max(
-max(
min( ( (100 - states('sensor.msunpv_outbal')|float*6.87 ) ) / states('sensor.test_controle_emerson_output_voltage')|float(0)|round(2) /2.0 ,3)
,0.1)| float(0)|round(2)
+ states('input_number.emerson_control_current_ratio')|float(0)|round(2) ,5)
,30) }}
target:
entity_id: input_number.emerson_control_current_ratio
- target:
entity_id:
- input_boolean.battery_smart_charging
data: {}
action: input_boolean.turn_on
enabled: false
else:
- if:
- condition: numeric_state
entity_id: sensor.msunpv_outbal
above: 22
then:
- metadata: {}
data: {}
target:
entity_id: input_boolean.battery_smart_charging
action: input_boolean.turn_off
enabled: false
- action: input_number.set_value
metadata: {}
data:
value: |-
{{
min(
max(
max(
min( ( ( states('sensor.msunpv_outbal')|float*6.87 )-150 ) / states('sensor.test_controle_emerson_output_voltage')|float(0)|round(2) /2.0 ,3)
,0.1)| float(0)|round(2)
+ states('input_number.emerson_control_current_ratio')|float(0)|round(2) ,5)
,30)
}}
target:
entity_id: input_number.emerson_control_current_ratio
- target:
entity_id:
- input_boolean.battery_smart_charging
data: {}
action: input_boolean.turn_on
enabled: false
- action: number.set_value
metadata: {}
data:
value: |-
{{
states('input_number.emerson_control_current_ratio')|float(0)|round(2)
}}
target:
entity_id: number.test_controle_emerson_max_output_current
mode: single
alias: PID_Computation
description: ""
triggers:
- trigger: state
entity_id:
- sensor.pid_erreur
conditions:
- condition: state
entity_id: input_select.battery_state
state: Discharge
enabled: true
- condition: state
entity_id: input_boolean.battery_smart_dps
state: "on"
enabled: true
actions:
- action: input_number.set_value
metadata: {}
data:
value: >-
{{
states('input_number.pid_proportionnal_coef')|float(1)*states('sensor.pid_erreur')|float(1)*-1
+
states('input_number.pid_derivative_coef')|float(1)*states('sensor.pid_error_derivative')|float(1)*-1
+
states('input_number.pid_integral_coef')|float(1)*states('sensor.somme_capteur_10s')|float(1)*states('input_number.msunpv_update_interval')|float(1)
*-1 }}
target:
entity_id: input_number.pid_value
enabled: true
- action: number.set_value
metadata: {}
data:
value: >-
{{ max( min
(states('number.esp_batterie_onduleur_soyosource_manual_power_demand') |
float(3) + states('input_number.pid_value')|float(3), 900),0) }}
target:
entity_id: number.esp_batterie_onduleur_soyosource_manual_power_demand
enabled: true
mode: single
Pour la décharge, la il faut être précis, pas envi d'injecter sur le réseau la nuit, donc j'ai mis en place un régulateur PID. Le but c'est de tendre vers une erreur nulle en limitant les rebonds. L'erreur calculée via un template, si j'injecte un peu dans le chauffe eau, je retranche la valeur, sauf si le chauffe eau est chaud :
{%set heaterpower = states('sensor.msunpv_outbal')|float(3) %}
{{(states('input_number.pid_target_power')|float(3)-
states('sensor.msunpv_powreso')|float(3)+6.87*heaterpower|float(3) ) if( states('input_boolean.eau_chaude')=='off') else (states('input_number.pid_target_power')|float(3)-
states('sensor.msunpv_powreso')|float(3))}}
import json
import datetime
@time_trigger("cron(* * * * *)") # Exécution chaque seconde
def calcul_integrale():
entity_id = "sensor.msunpv_powreso"
# Définir le timestamp de début (10 secondes en arrière)
start_time = (datetime.datetime.now() - datetime.timedelta(seconds=10)).isoformat()
# Construire l'URL de l'API Home Assistant
url = f"http://localhost:8123/api/history/period/{start_time}?filter_entity_id={entity_id}"
# Récupérer l'historique via l'API REST
headers = {
"Authorization": "Bearer CLEFXXXXXX",
"Content-Type": "application/json"
}
response = task.executor(requests.get, url, headers=headers)
if response.status_code == 200:
history_data = json.loads(response.text)
# Extraire les valeurs des 10 dernières secondes
values = []
if history_data and isinstance(history_data, list) and len(history_data) > 0:
for entry in history_data[0]: # Premier élément = liste des états du capteur
try:
values.append(float(entry["state"]))
except ValueError:
pass # Ignorer les erreurs de conversion
if values:
somme = sum(values)
log.info(f"Somme des 10 dernières valeurs de {entity_id} : {somme}")
# Stocker la somme comme capteur temporaire
state.set("sensor.somme_msunpv_powreso_10", somme)
else:
log.error(f"Erreur API Home Assistant : {response.status_code} - {response.text}")Je pense qu'il faudrait utilisé une extension qui gère directement le PID, mais bon, au moment j'ai pas trouvé.
J'ai atteint une certaine stabilité en utilisant les coefs suivant : P = 0.2, D = 0.25, I=0.005. Je pense qu'on peut mieux faire, mais la je suis satisfait, pour 2.2kWh injecté sur une journée/nuit, j'ai en général moins de 50Wh injecté sur le réseau en régulant à 0W
- Ixio_Jo
[Home Assistant, MSunPV et Batterie DIY] Mes quelques travaux sur mon install
Catégorie : Vos installations
Donc j'avertie tout de suite, c'est une usine à gaz, un peu honte de mettre le code ici. Le principe c'était d'utiliser uniquement la mesure du MsunPV sous Home Assistant et c'est uniquement la domotique qui régule autant la charge de la batterie que la décharge dans l'onduleur. Du fait des retards entre la mesure du routeur, sa mise en ligne sur "status.xlm", la récupération par HA, le traitement de l'info, la commande sur l'ESP et le temps de réaction du chargeur ou de l'onduleur, pour être stable, il ne faut pas être trop rapide dans les changements.
L'ensemble des commandes est effectué par des automatismes de HA en fonction de l'état dans lequel est la batterie :
J'ai donc décidé de créer plusieurs états pour le système, afin que la domotique sache les actions à effectuer :
Les états sont donc :
- Off : dans cet état l'onduleur et le charges sont en veille, le chauffe-eau est en auto, on ne régule rien
- Charge : Onduleur en veille, Chargeur activé, on régule le courant d'entrée en fonction de la puissance injectée dans le chauffe eau ou de la consommation réseau, le chauffe eau est en auto
- Discharge : Onduleur activé, Chargeur en veille, on régule la puissance de sortie en fonction de la consommation, le chauffe eau est OFF, (le MsunPV est réglé pour injecté que jusqu'à 100W dans le réseau)
- Nightcharge : analogue à Off, utiliser pour forcer une charge au passage en heure creuse
- DeepSleep: Analogue à Off, mais ne va pas essayer de passer en Charge ou Discharge si les conditions le permettent
- BatterySaving: Analogue à charge, bascule dans ce mode si le niveau de charge de batterie devient critique (niveau de charge <8% ou tension mini d'une cellule <3V) jusqu'à un retour à des conditions plus sécurisées
Pour les automatismes de changement d'état voici ce que j'ai proposé (le code est dans des balises "spoiler" pour que ça soit plus digeste) :
alias: Déclenchement Charge Batterie
description: ""
triggers:
- entity_id:
- sensor.water_heater_power
for:
hours: 0
minutes: 0
seconds: 15
above: 500
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
below: -150
for:
hours: 0
minutes: 0
seconds: 15
trigger: numeric_state
- trigger: numeric_state
entity_id:
- sensor.compteur_eau_chaude_temperature_ballon
above: 45
- entity_id:
- sensor.water_heater_power
for:
hours: 0
minutes: 0
seconds: 5
above: 1500
trigger: numeric_state
conditions:
- condition: or
conditions:
- condition: state
entity_id: input_select.battery_state
state: "Off"
- condition: state
entity_id: input_select.battery_state
state: Discharge
- condition: state
entity_id: input_select.battery_state
state: DeepSleep
- condition: state
entity_id: input_select.battery_state
state: BatterySaving
enabled: true
- condition: state
entity_id: input_select.battery_force_mode
state: "Off"
enabled: true
- condition: numeric_state
entity_id: sensor.esp_batterie_jk_bms_55ah_calcul_batterie_restante
below: 99
- condition: or
conditions:
- condition: state
entity_id: input_select.msunpv_bal_selec
state: Auto
- condition: state
entity_id: input_select.msunpv_bal_selec
state: "Off"
- condition: state
entity_id: input_boolean.batterie_winter_mode
state: "off"
- condition: or
conditions:
- condition: numeric_state
entity_id: sensor.compteur_eau_chaude_temperature_ballon
above: 45
- condition: numeric_state
entity_id: sensor.water_heater_power
above: 1500
- condition: numeric_state
entity_id: sensor.msunpv_powreso
below: -300
- condition: numeric_state
entity_id: sensor.msunpv_powpv
above: 300
actions:
- metadata: {}
data:
option: Charge
target:
entity_id: input_select.battery_state
action: input_select.select_option
- action: input_number.set_value
metadata: {}
data:
value: 5
target:
entity_id: input_number.emerson_control_current_ratio
- action: number.set_value
metadata: {}
data:
value: "5"
target:
entity_id: number.test_controle_emerson_max_input_current
# sur cet alimentation il faut eteindre le AC Switch et le DC Switch pour allumer l'alimentation
- type: turn_off
device_id: f32275bfbaf5d8419742bbf7d5081786
entity_id: 730633a00ffa65b235428ae9294ee9af
domain: switch
- type: turn_off
device_id: f32275bfbaf5d8419742bbf7d5081786
entity_id: 0fa08a132f2105a020be8ed53f2128ee
domain: switch
## Ici en fonction de la charge restante je diminue la tension de charge pour permettre à la batterie de s'équilibrer en chargeant plus lentement, j'ai un automatisme qui gérer cela en temps réel ensuite
- if:
- condition: numeric_state
entity_id: sensor.esp_batterie_jk_bms_55ah_calcul_batterie_restante
below: 95
then:
- device_id: f32275bfbaf5d8419742bbf7d5081786
domain: number
entity_id: 827c6fd2b9a3a3e51f1c3b6621564a95
type: set_value
value: 56.0
else:
- device_id: f32275bfbaf5d8419742bbf7d5081786
domain: number
entity_id: 827c6fd2b9a3a3e51f1c3b6621564a95
type: set_value
value: 55
- type: turn_on
device_id: c52ab49636a685a4c3db41025e52e243
entity_id: e264b02d60ab48a65f39b5c862720fe5
domain: switch
- data: {}
enabled: true
action: script.msunpv_script_autobal
# j'indique si je charge en solaire ou la nuit
- if:
- condition: time
after: "06:00:00"
before: "22:00:00"
then:
- target:
entity_id: select.compteur_charge_batterie
data:
option: Solaire
action: select.select_option
else:
- target:
entity_id: select.compteur_charge_batterie
data:
option: Nuit
action: select.select_option
# j'active l'équilibreur de la batterie uniquement quand je charge
- type: turn_on
device_id: c52ab49636a685a4c3db41025e52e243
entity_id: 5d736b0db5b58d90660b86306f99c19d
domain: switch
mode: single
alias: Déclenchement décharge batterie
description: ""
triggers:
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 30
above: 25
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 20
above: 100
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 10
above: 400
enabled: true
trigger: numeric_state
- entity_id:
- input_select.battery_state
to: Discharge
from: Charge
enabled: true
trigger: state
for:
hours: 0
minutes: 5
seconds: 0
- at: "06:00:10"
trigger: time
enabled: true
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 1
seconds: 0
above: 0
trigger: numeric_state
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "Off"
- condition: time
after: "06:00:00"
before: "22:00:00"
- condition: numeric_state
entity_id: sensor.esp_batterie_jk_bms_55ah_calcul_batterie_restante
above: 20
- condition: or
conditions:
- condition: state
entity_id: input_select.battery_state
state: "Off"
- condition: state
entity_id: input_select.battery_state
state: Charge
for:
hours: 0
minutes: 0
seconds: 10
- condition: state
entity_id: input_select.battery_state
state: DeepSleep
- condition: or
conditions:
- condition: state
entity_id: input_boolean.batterie_winter_mode
state: "off"
- condition: state
entity_id: sensor.rte_tempo_couleur_actuelle
state: Rouge
enabled: true
- condition: or
conditions:
- condition: state
entity_id: input_select.msunpv_bal_selec
state: Auto
- condition: state
entity_id: input_select.msunpv_bal_selec
state: "Off"
- condition: numeric_state
entity_id: sensor.msunpv_powreso
above: 25
actions:
# ici on eteint le chargeur et on remet son courant de sortie à 10%
- type: turn_on
device_id: f32275bfbaf5d8419742bbf7d5081786
entity_id: 0fa08a132f2105a020be8ed53f2128ee
domain: switch
- device_id: f32275bfbaf5d8419742bbf7d5081786
domain: number
entity_id: a68f0233766db26b7bdb32108657caf3
type: set_value
value: 10
- metadata: {}
data:
option: Discharge
target:
entity_id: input_select.battery_state
action: input_select.select_option
# ici on active l'onduleur et on met sa puissance de sortie à 0
- device_id: c52ab49636a685a4c3db41025e52e243
domain: number
entity_id: f9ae1678666a13817a75973e3d6dee61
type: set_value
value: 0
- type: turn_off
device_id: c52ab49636a685a4c3db41025e52e243
entity_id: e264b02d60ab48a65f39b5c862720fe5
domain: switch
- data: {}
enabled: true
action: script.msunpv_script_baloff
mode: singlealias: Arrêt Charge Batterie
description: ""
triggers:
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 20
above: 50
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 15
above: 200
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 5
above: 500
trigger: numeric_state
- type: power
device_id: 4161c27bf0add3b5c708fe5bc1406bb2
entity_id: bdffdc24a681919bfa7405b1f2052c32
domain: sensor
trigger: device
below: 10
for:
hours: 0
minutes: 15
seconds: 0
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "Off"
- condition: state
entity_id: input_select.battery_state
state: Charge
actions:
- data: {}
enabled: true
action: script.msunpv_script_autobal
- metadata: {}
data:
option: "Off"
target:
entity_id: input_select.battery_state
action: input_select.select_option
- type: turn_off
device_id: c52ab49636a685a4c3db41025e52e243
entity_id: 5d736b0db5b58d90660b86306f99c19d
domain: switch
- type: turn_on
device_id: f32275bfbaf5d8419742bbf7d5081786
entity_id: 0fa08a132f2105a020be8ed53f2128ee
domain: switch
mode: singlealias: Arrêt décharge batterie
description: ""
triggers:
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 10
below: -200
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 20
below: -20
enabled: true
trigger: numeric_state
- entity_id:
- sensor.msunpv_powreso
for:
hours: 0
minutes: 0
seconds: 5
below: -90
enabled: true
trigger: numeric_state
- entity_id:
- sensor.water_heater_power
for:
hours: 0
minutes: 0
seconds: 20
above: 200
trigger: numeric_state
- entity_id:
- sensor.water_heater_power
for:
hours: 0
minutes: 1
seconds: 0
above: 50
trigger: numeric_state
- trigger: state
entity_id:
- binary_sensor.esp_batterie_jk_bms_55ah_discharging
from: null
to: "off"
- trigger: numeric_state
entity_id:
- number.esp_batterie_onduleur_soyosource_manual_power_demand
for:
hours: 0
minutes: 0
seconds: 5
above: 1
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "Off"
- condition: state
entity_id: input_select.battery_state
state: Discharge
for:
hours: 0
minutes: 0
seconds: 5
- condition: numeric_state
entity_id: number.esp_batterie_onduleur_soyosource_manual_power_demand
below: 1
actions:
- type: turn_on
device_id: c52ab49636a685a4c3db41025e52e243
entity_id: e264b02d60ab48a65f39b5c862720fe5
domain: switch
- metadata: {}
data:
option: "Off"
target:
entity_id: input_select.battery_state
action: input_select.select_option
- device_id: c52ab49636a685a4c3db41025e52e243
domain: number
entity_id: f9ae1678666a13817a75973e3d6dee61
type: set_value
value: 0
- if:
- condition: state
entity_id: input_select.msunpv_bal_selec
state: "Off"
then:
- data: {}
enabled: true
action: script.msunpv_script_autobal
mode: singlealias: Forçage Arrêt Décharge Batterie
description: ""
mode: single
triggers:
- entity_id:
- input_select.battery_state
from: Discharge
to: "Off"
trigger: state
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "On"
actions:
- metadata: {}
data:
skip_condition: true
target:
entity_id: automation.arret_batterie
action: automation.triggeralias: Forçage Arrêt Décharge Batterie
description: ""
mode: single
triggers:
- entity_id:
- input_select.battery_state
from: Discharge
to: "Off"
trigger: state
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "On"
actions:
- metadata: {}
data:
skip_condition: true
target:
entity_id: automation.arret_batterie
action: automation.triggeralias: Forçage arrêt Charge Batterie
description: ""
mode: single
triggers:
- entity_id:
- input_select.battery_state
from: Charge
to: "Off"
trigger: state
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "On"
actions:
- metadata: {}
data:
skip_condition: true
target:
entity_id: automation.arret_charge_batterie
action: automation.triggeralias: Forçage decharge Batterie
description: ""
mode: single
triggers:
- entity_id:
- input_select.battery_state
from: null
to: Discharge
trigger: state
conditions:
- condition: state
entity_id: input_select.battery_force_mode
state: "On"
actions:
- metadata: {}
data:
skip_condition: true
target:
entity_id: automation.declenchement_decharge_batterie
action: automation.trigger- Rob_27
Dysfonctionnement du routeur
Catégorie : Support technique
Je connais pas Enphase, mais 2 choses me font tiquer.
Tu présentes 2 courbes et par deux fois zéro exportation.
Tu consommes tout, sans injection et le routeur ne fonctionne pas?
Ensuite tu parles de "profil 0 export".
Si tu as programmé dans tes Mo, zéro injection et que ces derniers soient plus rapides que le routeur, et bien ce dernier ne voit jamais d'injection et donc ne fonctionne pas.
Et tu as bien zéro exportation car tes Mo font ce que tu as demandé.
??
On verra bien avec ta courbe msunpv!
Sur un post précédent resté sans réponse, je t'avais demandé si tu avais des batteries !
Cdlt
- power17

Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
- fugazy
Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Finalement, j'ai juste alimenté la 2ème pince nécessaire à la mesure de la sortie routeur et tout fonctionne bien niveau relevé.
Côté Hyper2000 & routeur ArdTek tout est nickel conformément à ce que disait Power17.
Ma batterie charge quand les panneaux connectés direct sur la Hyper produisent et si j'ai un excédant sur le toit non utilisé par le routeur, elle charge également.
Si mon routeur ARdTek route sur le ballon, je constate que la batterie n'est pas en train de se décharger... ce qui est plutôt bien.
Je vais continuer à surveiller tout ça mais c'est plutôt bien.
Merci pour l'aide en tout cas.
- power17

Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Concernant les connexions via le Cloud ou connexion locale, ça change régulièrement automatiquement donc je pense pas que ça pose problème, je transmets une photo de mon Shelly avec les trois phase utilisé d’où je répète. Le A c’est ENEDIS le B c’est mon photovoltaïque. Juste pour info et le C c’est les trois phases de mon routeur et comme on peut voir positionner en négatif.
- syl2222fr
Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
bdc.shelly.cloud/__attachments/119636304...c7-8ec7-74efb30a8c44
Les bornes A, b et c doivent être allimentées
- fugazy
Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Merci Power17 pour ton aide.
J'ai résolu mon problème d'Hyper qui ne voulait pas se charger... je ne sais pourquoi, elle avait l'air d'être dans un mode "rien à cirer" ... un restart et elle charge/décharge.. ça c'est fait.
Ce matin, j'ai voulu brancher les 3 pinces de manière identique à ta conf. Je précise (pour syl2222fr) que j'ai les mêmes options que toi sous Zendure (je suis sous Android) pour les réglages. J'ai basculé en triphasé sous l'app et sélectionné mes deux circuits.
Nouveau problème qui se situe au niveau du Shelly je pense
Pince C sur l'arrivée EDF = ok (jes W sont affichés)
Pince A sur sortie relais Routeur Ard Tek = ko (rien ne s'affiche)
Pince B sur n'importe quel circuit = ko (rien ne s'affiche)
J'ai beau déplacé les deux dernières pinces sur des phases qui devraient affichées quelque chose mais elles restent toujours à 0W.
Y a-t-il quelque chose à configurer sur le shelly directement ? Exemple: mon "Device Profile" est sur Triphase
- syl2222fr
Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
J'ai pas du tout ces menus
Ce que je constate, c'est , dans ta dernière capture d'écran , ton shelly est connecté en wifi local alors que moi, c'est via le cloud shelly .
Je pense que mon soucis est là.
- power17

Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Pour accéder au choix des trois phases, il faut cliquer sur le petit onglet
Passer à la surveillance de l’alimentation, une fois que tu as cliqué dessus, tu obtiens la petite photo que je vais te transmettre
Une fois que c’est fait, tu acceptes et tu obtiens l’accès aux trois phases si tu as les trois phases comme MOI, moi la phase A c’est celle du compteur Enedis. La phase B c’est celle de ma production solaire. C’est juste pour info et la phase C c’est celle qui comprend toutes mes phases de sortie de mon routeur c’est elle qui me permet d’éviter de faire la décharge dans le chauffe-eau ou dans les radiateurs ou le jacuzzi qui sont derrière ce routeur et si ça se décharge c’est que t’as pince n’est pas dans le bon sens
- syl2222fr
Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Power17 : Ta capture d'écran me fait douter sur la bonne configuration de mon shelly
Dans mon appli zendure, j'ai pas la possibilité de choisir les phases (ce qui m’arrangerait bien)
J'ai couplé le shelly en mode cloud (après, j'avais que ce choix)
Entre le hyper2000 et le solarflow , ça serait si différent que ça ?
Petite question: Tu as quelle version de l'application ? Moi, je suis en (android) 5.7.0
- power17

Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Petite précision encore, il faut cliquer sur passer à la surveillance, ce qui vous permettra d’accéder à l’utilisation triphasée au lieu d’être en mode simplex
- power17

Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
- Ixio_Jo
[Home Assistant, MSunPV et Batterie DIY] Mes quelques travaux sur mon install
Catégorie : Vos installations
Elle était fourni avec une carte se connectant à son port arrière permettant d'y brancher l'alimentation AC (L N T), la sortie DC (+ -) ainsi que le port CAN (CanH, CanL).
Celle-ci est contrôlé par un petit ESP8266 sous ESPHome via un MCP2515 pour la communication en CANbus, avec le montage suivant
(faut que je vérifie le sens du MISO/MOSI du port SPI et le sens du CanH et CanL, j'ai un doute). J'ai référencé le le montage sur la borne - de l'alimentation.
J'utilise un code ESPHome github.com/leodesigner/esphome-emerson-vertiv-r48 avec quelques modif sur le YAML et j'ai fait quelques essais sur le code du pilote, d'où mon propre dossier GitHub.
esphome:
name: test-controle-emerson
friendly_name: Test Controle Emerson
on_boot:
priority: -100
then:
- number.set:
id: set_output_voltage
value: 56.6
- number.set:
id: set_output_max_current
value: 10
- number.set:
id: set_input_current
value: 6
- switch.turn_on:
id: ac_sw
- switch.turn_on:
id: dc_sw
external_components:
- source:
type: git
url: http://github.com/IxioJo/esphome-emerson-vertiv-r48
ref: main
refresh: 0s
esp8266:
board: esp01_1m
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
encryption:
key: xxx
ota:
- platform: esphome
password: xxxx
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Test-Controle-Emerson"
password: xxx
captive_portal:
spi:
id: McpSpi
clk_pin: GPIO14
mosi_pin: GPIO13
miso_pin: GPIO12
canbus:
- platform: mcp2515
id: can
spi_id: McpSpi
use_extended_id: true
cs_pin: GPIO15
can_id: 0x0607FF83
bit_rate: 125kbps
mode: NORMAL
data_rate: 10Mhz
emerson_r48:
canbus_id: can
update_interval: 1s
sensor:
- platform: emerson_r48
output_voltage:
name: Output voltage
id: DC_Voltage
output_current:
name: Output current
id: DC_Current
output_temp:
name: Temperature
input_voltage:
name: AC Voltage
max_output_current:
name: DC max current
unit_of_measurement: '%'
- platform: template
name: outPower
id: outpower
unit_of_measurement: W
device_class: power
update_interval: 6s
accuracy_decimals: 2
lambda: |-
if(id(DC_Current).state>0) { return ( id(DC_Current).state * id(DC_Voltage).state ); }
else {return 0;}
number:
- platform: emerson_r48
output_voltage:
name: Set output voltage
id: set_output_voltage
max_output_current:
name: Max output current
unit_of_measurement: '%'
id: set_output_max_current
max_input_current:
name: Max input current
id: set_input_current
button:
- platform: emerson_r48
set_offline_values:
name: Set offline values
- platform: restart
name: "Restart ESP"
switch:
- platform: emerson_r48
ac_sw:
name: "AC switch Turn OFF"
restore_mode: ALWAYS_ON
id: ac_sw
dc_sw:
name: "DC switch Turn OFF"
restore_mode: ALWAYS_ON
id: dc_sw
fan_sw:
name: "FAN switch MAX"
led_sw:
name: "LED switch"
Au niveau du montage, j'ai fait 3 supports à l'impression 3D pour le fixé au tableau avec l'onduleur et le tableau DC pour séparer les différents éléments sur des disjoncteurs indépendants (onduleur 25A, chargeur 40A, batterie 40A), c'est un peu overkill mais bon. Il y a en plus un fusible de 30A dans la batterie DIY en plus du disjoncteur et du BMS JK. Si jamais un court circuit n'est pas coupé malgré tout ça, je ne comprends pas.
A gauche, il y a une carte avec l'Esp32 S3 qui contrôle tout le monde... sauf le chargeur qui est pour le moment sur le petit ESP8266 en attendant que je mette à jour la carte. La carte est alimenté directement par la batterie via un convertisseur DC-DC 5V isolé (pour ne pas créer un chemin supplémentaire si un disjoncteur descend), de plus faut que je rajoute un fusible dessus.
Après les tests j'ai pu constaté un très bon fonctionnement de l'alimentation, elle est très réactive, très précise et son rendement très élevé (95% à 15A 55V). On peut contrôler un relais coté AC un autre coté DC mais aussi la tension de sortie à 0.1V près, le courant de sortie de 10% à 121% de 50A par pas de 0.1% soit 0.05A (dans les faits je limite à 30%). Le 10% de courant mini vient des spécifications, le fonctionnement n'est pas garanti en baissant plus le courant. J'ai modifié le code pour pouvoir descendre plus bas, je me limite à 5% mais jusqu'à 1% ça semble possible au prix d'un rendement beaucoup moins bon.
Un point d'attention particulier est que l'alimentation reprend ses réglages de base si aucune info n'a été envoyé au CanBus pendant 30sec, donc attention de modifier les réglages de base avec le bouton Set offline values en particulier la tension DC et le courant AC max. Autre inconvénient, elle fait un peu de bruit mais moins que mon alimentation précédente. Les capteurs sont limités à 5 (Vac in, Vdc, I Dc, % I Dc max et la température). J'aurai aimé, I ac in, Pin, Pout, rendement.
J'ai tenté de voir si ces infos n'était pas récupérable en modifiant le code .CPP pour interroger d'autres variables, mais en l'absence de documentation complète, c'est très hasardeux et j'ai failli briquer l'alimentation en limitant en dur le courant de sortie à 1% malgré que j'utilisais que les supposé instructions d'interrogation de capteur, donc j'ai arrêté les essais, finalement, ça fonctionne bien.
EDIT : Après vérification chez moi, la connexion du SPI me parait bonne, par contre il fallait croisé le CAN, j'ai changer l'image en conséquent
- syl2222fr
Je voulais dir que MSUNP est au top avec batterie Zendure
Catégorie : News
Je vais pas pouvoir beaucoup t'aider car l'hyper 2000 et le solarflow , même si ça se ressemble, c'est 'logiciellement' pas la même chose (sinon, j'arriverais à faire marcher le truc)
Tu as bien laissé la config du shelly pro en triphasé ?
Essaye de mettre le routeur en mode injection à -3000W (pour qu'il route plus rien) => Comme ça, on retire le routeur de l'équation , vu que lui, il marche toujours bienJ'ai à peine branché l'hyper 2000, qui était chargé à 70% que celle-ci s'est immédiatement vidée.... dû au ballon je pense.
Puis regarde dans l'appli zendure ce que remonte le shelly : Est-ce qu'il se décharge, se recharge comme il faut, etc et ce que dit l'import /export enedis (peut-être que la pince est à l'envers ?)
Pour les panneaux directement montés sur l'hyper , je peux pas t'aider du tout, désolé
L'applie Zendure, très mal faite, m'indique qu'elle détecte du surplus venant d'ailleurs (PV sur le toit sûrement)... ce qui est normal car j'ai momentanément désactivé le routeur, mais la batterie ne charge pas. Je suis en mode Intelligent.
Haaa, j'ai galéré avec le mode intelligent. Il y a plusieurs paramètres qui rentrent en compte , mais, ça te le dit pas.
J'ai remarqué que, quand tu choisis les modes, il y a un mode (j'ai pas le nom) charge en fonction des heures qui prends le dessus sur le mode intelligent.
Essaye déjà de passer en mode CT (ça ne prends en compte que la pince du shelly)
Après, j'ai désactivé tout dans HA quand je tâtonnais et j'utilisais que l'appli. J'ai remarqué (avec le solarflow) que ça avait des effets nefaste de modifier d'un côté et regarder de l'autre.