Bonjour Julien
Oui il me propose l’adresse du conteneur en bridge 172.17.0…
j ai fait avec celle ci et je ne peux pas me connecter avec mqtt explorer
j utilise mqtt explorer sur home assistant cela est bon ?
je peux me connecter avec mqtt explorer sur l ip de ha mais pas sur celle du serveur iobroker
peut être un problème ailleurs
Tu as vérifié les logs du journal dans IoBroker? Pas de défaut ou d’alarme? Je sais pas exemple que lorsqu’une tentative de connexion est refusée par le serveur IoBroker, une alarme est générée dans le journal. Sinon tout semble bon dans ta config…
Je viens de franchir une etape
je me connecter avec MQTT Explorer
en fait, j’ai sur mon Raspberry UFW pour filtrer les ports (j’avais oublié) donc avec sudo ufw allow 1883, la connexion s’est établie
Super donc normalement si ça marche avec explorer, ça devrait également avec HA!
Ben33
Décembre 26, 2024, 10:18
27
Wahoo @Julien_Galliot respect quel boulot !
J’ai une question stp, je suis une brèle donc je bloque… au tout début !
Je n’arrive pas trop à comprendre comment installer Iobroker et ensuite comment le configurer.
HA tourne sur un Home assistant Green, si je comprends bien je dois installer Iobroker sur mon ordi de maison c’est ça ?
J’ai tenté de le faire mais là j’en suis à l’étape configuration et laisse tomber je nage !
Déjà 1ère question, est-ce bien d’installer Iobroker sur son PC sachant qu’il n’est pas tout le temps allumé ?
2ème question, je dois sélectionner quoi dans mon screenshot pour configurer Iobroker ?
Bon désolé pour ces questions de débutant mais en gros faut voir le coté positif : si j’arrive à la fin à tout récupérer sour HA ça veut dire que tout est parfaitement bien expliqué et que tout le monde pourra le faire
@Julien_Galliot , j’avance pas à pas dans ton tuto. Je connaissais pas grand chose avant sur MQTT, j’ai tellement galéré Merci pour les coups de main de tous.
mais je galère encore un peu (j’ai changé les noms des sensors iobroker.zendure tout le long de mes approches ) pour realiser le mode « intelligent » . j’ai besoin de quelques precisions sur les sensors que tu utilises. peux tu me preciser le codes mqtt pour ces sensors :
sensor.iobroker_zendure_puissance_reseau_zendure et
input_number.zendure_seuil_charge_ac
merci d’avance
Pour « sensor.iobroker_zendure_puissance_reseau_zendure » j’ai ça :
- name: "P Entrée AC"
unique_id: "Hyper2000_gridInputPower"
state_topic: "zendure-solarflow/0/xxxxxxx/yyyyyyyy/gridInputPower"
unit_of_measurement: "W"
value_template: '{{ value }}'
icon: "mdi:transmission-tower-export"
force_update: true
device_class: power
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
Pour « input_number.zendure_seuil_charge_ac », pas de code je l’ai défini en entrée directement avec l’UI dans paramètres/appareils et services/entrée avec la configuration suivante :
Bonne continuation!
Bonjour,
Je ne connais le principe de la HA Green, de mon côté IoBroker tourne sur la même machine que HA mais j’ai un NUC avec virtualisation, avec HA sur une 1ière VM et Iobroker installé sous windows 11 sur une seconde VM.
Dans ton cas, je ne saurais dire si c’est possible de faire tourner IoBroker sur HA green. Sinon il faut une autre machine dédiée, un vieux PI par exemple ou un PC windows mais effectivement il faudra qu’il tourne H24 7/7 donc attention à la consommation…
Concernant ton screenshot, il te propose d’installer des adaptateur en même temps que l’installation d’IoBroker, tu peux ne rien cocher et les installer plus tard dans IoBroket. Les seuls qui seront vraiment utiles sont MQTT et Zendure.
Bon courage pour la suite…on galère tous un peu mais on fini par y arriver et ça marche plutôt pas mal!
C’est possible d’avoir Iobroker sur son HA, c’est ce que je fais avec mon HA secondaire.
Il faut utiliser l’addon Portainer et créer le docker qui va bien et surtout les bons réglages, pas juste créer un simple docker à partir du docker compose que l’on peut trouver avec l’image de Iobroker.
Par contre à chaque mise à jour ou redémarrage, il y a un petit message de HA qui détecte un docker présent et non installé suivant le principe des Addon, mais rien de bloquant si ce n’est que c’est pas recommandé et risqué pour le système HA.
Je n’ai pas donné la méthode lors de mes informations pour mettre en place Iobroker dans HA car il reste un risque que je me permet de faire avec mon HA secondaire, mais pas que d’autres personnes pourraient faire avec leur HA principal.
Sinon, cela fait quelques mois que ça tourne sans problème…
1 « J'aime »
Bonjour,
Gros update aujourd’hui du post d’origine pour partager mes automatismes suite à différentes demandes. En espérant que ça puisse aider.
1 « J'aime »
Bravo Julien pour le détail de tes explications et du processus pour automatiser le tout. Je rencontre quelques difficultés. Aurais-tu la possibilité de nous donner les fichiers Yaml pour les automatisations ainsi que la partie du configuration Yaml pour les entités Iobroker Zendure ? J’ai essayé de reproduire chez vous mais ce n’est pas un succès.
Merci beaucoup et bonnes fêtes à tous.
Bonjour, voilà les code yaml pour les 4 automatisations :
Gestion de mode
!!! Mise à jour le 01/01/2024 !!!
alias: Zendure - Gestion mode
description: ""
triggers:
- trigger: state
entity_id:
- input_select.mode_batterie_zendure
conditions: []
actions:
- choose:
- conditions:
- condition: state
entity_id: input_select.mode_batterie_zendure
state: Charge
sequence:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_mode_intelligent
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_decharge_ac
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_charge_ac
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: number
entity_id: c1245cb122428ce8fdefa29721a5b1b1
type: set_value
value: 0
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "1"
- conditions:
- condition: state
entity_id: input_select.mode_batterie_zendure
state: Décharge
sequence:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_mode_intelligent
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_charge_ac
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_decharge_ac
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: number
entity_id: b5d87a5d5bb2c3656ed7cce21de0a9fc
type: set_value
value: 0
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "2"
- conditions:
- condition: state
entity_id: input_select.mode_batterie_zendure
state: Automatique
sequence:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_charge_ac
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_decharge_ac
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: number
entity_id: b5d87a5d5bb2c3656ed7cce21de0a9fc
type: set_value
value: 0
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: number
entity_id: c1245cb122428ce8fdefa29721a5b1b1
type: set_value
value: 0
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "0"
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.zendure_mode_intelligent
- if:
- condition: numeric_state
entity_id: sensor.surplus_pv
above: 0
then:
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.zendure_charge_ac
else:
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.zendure_decharge_ac
mode: single
Mode Intelligent
alias: Zendure - Mode Intelligent
description: ""
triggers:
- trigger: numeric_state
entity_id:
- sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
for:
hours: 0
minutes: 1
seconds: 0
below: -80
- trigger: numeric_state
entity_id:
- sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
for:
hours: 0
minutes: 1
seconds: 0
above: 80
conditions: []
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
below: -80
sequence:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_decharge_ac
- action: number.set_value
metadata: {}
data:
value: "0"
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "1"
- action: number.set_value
metadata: {}
data:
value: "0"
target:
entity_id: number.iobroker_zendure_p_limite_entree_zendure
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.zendure_charge_ac
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
above: 80
sequence:
- action: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
entity_id: automation.zendure_charge_ac
- action: number.set_value
metadata: {}
data:
value: "0"
target:
entity_id: number.iobroker_zendure_p_limite_entree_zendure
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "2"
- action: number.set_value
metadata: {}
data:
value: "0"
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
- action: automation.turn_on
metadata: {}
data: {}
target:
entity_id: automation.zendure_decharge_ac
mode: single
Charge
alias: Zendure - Charge AC
description: ""
triggers:
- trigger: time_pattern
seconds: /10
conditions:
- condition: numeric_state
entity_id: sensor.niveau_batterie_zendure
below: 100
actions:
- if:
- condition: state
entity_id: select.iobroker_zendure_mode_hyper_1_charge_2_decharge
state: "1"
then:
- if:
- condition: numeric_state
entity_id: sensor.consigne_charge_ac
above: input_number.zendure_p_limite_entree_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_entree_zendure
data:
value: "{{ states('input_number.zendure_p_limite_entree_ac') }}"
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_entree_zendure
data:
value: "{{ states('sensor.consigne_charge_ac') }}"
else:
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "1"
mode: single
Décharge
!!! Mise à jour le 01/01/2024 !!!
alias: Zendure - Décharge AC
description: ""
triggers:
- trigger: time_pattern
seconds: /10
conditions: []
actions:
- if:
- condition: device
device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: selected_option
option: "2"
then:
- if:
- condition: numeric_state
entity_id: sensor.niveau_batterie_zendure
above: 15
then:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
above: 50
below: 200
sequence:
- action: input_number.increment
metadata: {}
data: {}
target:
entity_id: input_number.zendure_consigne_decharge_ac
- if:
- condition: numeric_state
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
above: input_number.zendure_p_limite_sortie_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{ states('input_number.zendure_p_limite_sortie_ac')
}}
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{
states('input_number.zendure_consigne_decharge_ac')
}}
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
above: 200
below: 500
sequence:
- repeat:
count: 2
sequence:
- action: input_number.increment
metadata: {}
data: {}
target:
entity_id: input_number.zendure_consigne_decharge_ac
- if:
- condition: numeric_state
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
above: input_number.zendure_p_limite_sortie_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{ states('input_number.zendure_p_limite_sortie_ac')
}}
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{
states('input_number.zendure_consigne_decharge_ac')
}}
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
above: 500
sequence:
- repeat:
count: 4
sequence:
- action: input_number.increment
metadata: {}
data: {}
target:
entity_id: input_number.zendure_consigne_decharge_ac
- if:
- condition: numeric_state
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
above: input_number.zendure_p_limite_sortie_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{ states('input_number.zendure_p_limite_sortie_ac')
}}
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{
states('input_number.zendure_consigne_decharge_ac')
}}
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
below: 0
above: -200
sequence:
- action: input_number.decrement
metadata: {}
data: {}
target:
entity_id: input_number.zendure_consigne_decharge_ac
- if:
- condition: numeric_state
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
above: input_number.zendure_p_limite_sortie_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{ states('input_number.zendure_p_limite_sortie_ac')
}}
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{
states('input_number.zendure_consigne_decharge_ac')
}}
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
below: -200
above: -500
sequence:
- repeat:
count: 2
sequence:
- action: input_number.decrement
metadata: {}
data: {}
target:
entity_id: input_number.zendure_consigne_decharge_ac
- if:
- condition: numeric_state
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
above: input_number.zendure_p_limite_sortie_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{ states('input_number.zendure_p_limite_sortie_ac')
}}
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{
states('input_number.zendure_consigne_decharge_ac')
}}
- conditions:
- condition: numeric_state
entity_id: sensor.shellypro3em_a0dd6ca18868_phase_c_active_power
below: -500
sequence:
- repeat:
count: 4
sequence:
- action: input_number.decrement
metadata: {}
data: {}
target:
entity_id: input_number.zendure_consigne_decharge_ac
- if:
- condition: numeric_state
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
above: input_number.zendure_p_limite_sortie_ac
then:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{ states('input_number.zendure_p_limite_sortie_ac')
}}
else:
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: >-
{{
states('input_number.zendure_consigne_decharge_ac')
}}
else:
- action: input_number.set_value
metadata: {}
data:
value: 0
target:
entity_id: input_number.zendure_consigne_decharge_ac
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- action: number.set_value
target:
entity_id: number.iobroker_zendure_p_limite_sortie_zendure
data:
value: "{{ states('input_number.zendure_consigne_decharge_ac') }}"
else:
- device_id: 8380f796ee4d748c326e7ae2b055d6cd
domain: select
entity_id: 783c076b0ca3e78ce50139bc39425e8a
type: select_option
option: "2"
mode: single
Et enfin les config yaml pour les entrées/sensors/… :
Type « Number » MQTT :
############################################################
## MQTT ZENDURE ##
############################################################
- name: "P Limite Sortie AC"
unique_id: "Hyper2000_setOutputLimit"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/control/setOutputLimit"
command_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/control/setOutputLimit/set"
value_template: >
{{ int(value, 0) }}
min: 0
max: 1200
step: 5
mode: box
unit_of_measurement: "W"
icon: "mdi:home-plus"
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "P Limite Entrée AC"
unique_id: "Hyper2000_setInputLimit"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/control/setInputLimit"
command_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/control/setInputLimit/set"
value_template: >
{{ int(value, 0) }}
min: 0
max: 1200
step: 5
mode: box
unit_of_measurement: "W"
icon: "mdi:home-plus"
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
Type « Select » MQTT :
- name: "Mode Hyper 1-> Charge 2-> Décharge"
unique_id: "iobroker_hyper_2000_mode_hyper"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/acMode"
command_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/control/acMode/set"
value_template: "{{ value }}"
options:
- "0"
- "1"
- "2"
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "IoBroker-Zendure"
model: "Hyper 2000"
Type « Sensor » MQTT :
############################################################
## MQTT ZENDURE ##
############################################################
- name: "Niveau batterie"
unique_id: "Hyper2000_electricLevel"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/electricLevel"
unit_of_measurement: "%"
value_template: '{{ value }}'
icon: "mdi:battery-unknown"
force_update: true
device_class: battery
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "P Entrée AC"
unique_id: "Hyper2000_gridInputPower"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/gridInputPower"
unit_of_measurement: "W"
value_template: '{{ value }}'
icon: "mdi:transmission-tower-export"
force_update: true
device_class: power
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "Energie Entrée AC"
unique_id: "Hyper2000_gridInputEnergyTodayWh"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/calculations/gridInputEnergyTodayWh"
unit_of_measurement: "Wh"
value_template: '{{ value }}'
icon: "mdi:transmission-tower-export"
force_update: true
device_class: energy
state_class: total_increasing
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "Energie Entrée Batterie"
unique_id: "Hyper2000_outputPackEnergyTodayW"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/calculations/outputPackEnergyTodayWh"
unit_of_measurement: "Wh"
value_template: '{{ value }}'
icon: "mdi:battery-arrow-up"
force_update: true
device_class: energy
state_class: total_increasing
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "Température"
unique_id: "Hyper2000_hyperTmp"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/hyperTmp"
unit_of_measurement: "°C"
value_template: '{{ value }}'
icon: "mdi:temperature-celsius"
force_update: true
device_class: temperature
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "P Sortie BATT"
unique_id: "Hyper2000_packInputPower"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/packInputPower"
unit_of_measurement: "W"
value_template: '{{ value }}'
icon: "mdi:battery-arrow-down-outline"
force_update: true
device_class: power
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "P Sortie AC"
unique_id: "Hyper2000_outputHomePower"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/outputHomePower"
unit_of_measurement: "W"
value_template: '{{ value }}'
icon: "mdi:transmission-tower-import"
force_update: true
device_class: power
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "Temps Décharge Restant"
unique_id: "Hyper2000_remainOutTime"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/remainOutTime"
unit_of_measurement: "min"
value_template: '{{ value }}'
icon: "mdi:battery-clock-outline"
force_update: true
device_class: duration
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "Etat Batterie"
unique_id: "Hyper2000_packState"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/packState"
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "AC Mode"
unique_id: "Hyper2000_acMode"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/acMode"
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
- name: "Energie Sortie Batterie"
unique_id: "Hyper2000_outputHomeEnergyTodayWh"
state_topic: "zendure-solarflow/0/xxxxxx/yyyyyyyy/calculations/outputHomeEnergyTodayWh"
unit_of_measurement: "Wh"
value_template: '{{ value }}'
icon: "mdi:battery-arrow-down"
force_update: true
device_class: energy
state_class: total_increasing
device:
name: "IoBroker-Zendure"
identifiers: "Io-Zendure"
manufacturer: "Zendure"
model: "Hyper 2000"
Et les calculs divers nécessaires pour les automatismes :
!!! Update du sensor « Surplus PV » pour palier à l’indisponibilité des données MQTT Zendure !!!
- name: Surplus PV
unique_id: "Surplus_PV"
unit_of_measurement: "W"
state: >
{% if has_value('sensor.iobroker_zendure_puissance_reseau_zendure') %}
{% if states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.iobroker_zendure_puissance_reseau_zendure')|int < 0 %}
{{ (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int - states('sensor.iobroker_zendure_puissance_reseau_zendure')|int)|abs }}
{% else %}
{{ 0 }}
{% endif %}
{% else %}
{% if states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int < 0 %}
{{ (states('sensor.shellypro3em_a0dd6ca18868_phase_c_active_power')|int)|abs }}
{% else %}
{{ 0 }}
{% endif %}
{% endif %}
- name: Consigne_Charge_AC
unique_id: "Cons_Charge_AC"
unit_of_measurement: "W"
state: >
{% if states('sensor.surplus_pv')|int > states('input_number.zendure_seuil_charge_ac')|int %}
{% if (states('sensor.surplus_pv')|int - states('input_number.zendure_seuil_charge_ac')|int) < 1200 %}
{{ states('sensor.surplus_pv')|int - states('input_number.zendure_seuil_charge_ac')|int }}
{% else %}
{{ 1200 }}
{% endif %}
{% else %}
{{ 0 }}
{% endif %}
- name: Niveau Batterie Zendure
unique_id: "Zendure_SOC"
unit_of_measurement: "%"
state: >
{% if has_value('sensor.iobroker_zendure_niveau_batterie_zendure') %}
{{ states('sensor.iobroker_zendure_niveau_batterie_zendure') }}
{% else %}
{{ 50 }}
{% endif %}
1 « J'aime »
De rien! si ça peut aider…
Je profite du soleil de ce début d’année pour debugger mes automatismes :
Modification du sensor « surplus PV » pour éviter la valeur 0 quand les données MQTT de l’hyper sont indisponibles, la valeur 0 ne permettant pas de lancer la charge et de « réveiller » l’hyper pour actualiser et faire remonter les infos MQTT
Modification de l’automatisme « gestion mode » pour activer au choix l’automatisme « charge » ou « décharge » en fonction de la valeur du surplus (charge si surplus >0, décharge si surplus=0) lorsque le mode automatique est selectionné
Modification de l’automatisme « décharge » avec ajout d’un if pour activer le mode décharge de l’hyper (requête MQTT sur l’acMode) s’il n’est pas déjà actif.
Sinon j’ai encore un soucis avec la limitation de puissance de décharge qui ne fonctionne pas en l’état et que je dois débugger, mais en laissant la limite au max (1200w) ça fonctionne correctement. Je me pencherai dessus quand j’aurai un peu de temps…
J’ai mis à jour les yaml de mes posts précédents.
Et voilà mon dashboard pour contrôler tout ça :
2 « J'aime »
Bonjour tout le monde et merci Julien pour ce tuto.
J’avais déjà mis en place iobroker avec zendure avec les tutos à droite et à gauche mais le tien est le plus abouti.
Je souhaite (te) poser une question toutefois, avant je n’avais qu’un H2000 mais maintenant j’ai 2 H2000 donc mis en grappe… La grappe ne remonte pas dans zendure iobroker ni même le mqtt zendure-eu. Ça, c’est un souci de chez Zendure (corrigé en 2025 peut-être). Mais je pense qu’en utilisant ton tuto en version 2 H2000 cela pourrait fonctionner.
Avant de faire le test (car cela sera long à tout rentrer les capteurs mqtt à la main), je demande si toi ou quelqu’un ici à une grappe et l’a fait fonctionner en mqtt ?
Merci encore.
Bonjour,
Désolé je n’ai qu’un seul hyper et je ne saurai te répondre du coup. J’espère que quelqu’un d’autre aura la réponse…
Bon courage!
1 « J'aime »
Tu as mis tout cela dans un même fichier mqtt.yaml (déclaré dans le configuration.yaml) ? Ou alors tu as séparé les fichiers ?
J’ai un fichier yaml par type d’entrée MQTT, un pour les sensors, un pour les numbers, un pour les select, …
Après chacun organise sa configuration comme il l’entend, mais quand on commence à en avoir beaucoup un peu d’organisation ne fait pas de mal!
2 « J'aime »