Messages : 22
Sujets : 4
Inscription : Jul 2024
Bonjour à tous,
Je vous partage ici la procédure complète pour installer et utiliser l’intégration RMS VE dans Home Assistant, permettant de piloter et superviser un routeur de charge VE.
J'avais fait un premier post en utilisant les packtages.. mais c'etait pas trés propre....
? Installation via HACS
1. Ajouter le dépôt
Dans Home Assistant Community Store (HACS) : - Aller dans Integrations
- Menu (⋮) → Custom repositories
Ajouter :
Code : https://github.com/Geosr600/ha-rms-ve
Type : Integration
2. Installation: - Rechercher RMS VE
- Installer
- Redémarrer Home Assistant
? Configuration
Après redémarrage :
- Aller dans :
Paramètres → Appareils & Services
- Ajouter :
RMS VE
Paramètres demandés : - Adresse IP du routeur VE
- Nom de l’équipement
? Le nom servira de base pour les entités
?️ Feedback / contributions
N’hésitez pas à : - remonter des bugs
- proposer des améliorations
- partager vos dashboards
? Repo GitHub :
https://github.com/Geosr600/ha-rms-ve
Messages : 1,009
Sujets : 9
Inscription : Aug 2024
Messages : 1,293
Sujets : 41
Inscription : Jun 2024
Bravo Geosr, c'est TOP !
Config : 3 routeurs F1ATB en V17.15 - 2 routeurs fixes en mode Triacs + 1 routeur mobile polyvalent en mode : Triac+SSR + 1 afficheur distant ESP32-S3
PV : (8*425W + Onduleur SunGrow 3KW) + (2 *500w + MO Hoymiles HMS-1000W-2T)
Supervision & Domotique : F1atb + Home Assistant / Shelly & MQTT
Messages : 22
Sujets : 4
Inscription : Jul 2024
(Hier, 08:59 AM)grostoto a écrit : Tu es un champion.
Merci...
Cela sera plus simple que la première méthode...
N'hésite pas a me dire s'il y a des bug chez toi
Messages : 1,009
Sujets : 9
Inscription : Aug 2024
je partage une card, on peut la découper en petits bouts..
Code : type: vertical-stack
cards:
- square: false
type: grid
columns: 4
cards:
- type: custom:button-card
name: Arrêt
icon: mdi:stop-circle
tap_action:
action: call-service
service: script.ve_mode_arret
styles:
card:
- height: 60px
- border-radius: 16px
- background-color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 3
? 'rgba(244, 67, 54, 0.8)' : '#1a1a1a' ]]]
- border: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 3
? '2px solid #f44336' : '1px solid #333' ]]]
- box-shadow: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 3
? '0 0 15px rgba(244,67,54,0.6)' : 'none' ]]]
icon:
- color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 3
? 'white' : '#f44336' ]]]
name:
- color: white
- font-weight: 700
- font-size: 11px
- type: custom:button-card
name: Auto
icon: mdi:flash-auto
tap_action:
action: call-service
service: script.ve_mode_auto
styles:
card:
- height: 60px
- border-radius: 16px
- background-color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 0
? 'rgba(76, 175, 80, 0.8)' : '#1a1a1a' ]]]
- border: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 0
? '2px solid #4caf50' : '1px solid #333' ]]]
- box-shadow: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 0
? '0 0 15px rgba(76,175,80,0.6)' : 'none' ]]]
icon:
- color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 0
? 'white' : '#4caf50' ]]]
name:
- color: white
- font-weight: 700
- font-size: 11px
- type: custom:button-card
name: Semi-auto
icon: mdi:sync
tap_action:
action: call-service
service: script.ve_mode_semi_auto
styles:
card:
- height: 60px
- border-radius: 16px
- background-color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 1
? 'rgba(33, 150, 243, 0.8)' : '#1a1a1a' ]]]
- border: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 1
? '2px solid #2196f3' : '1px solid #333' ]]]
- box-shadow: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 1
? '0 0 15px rgba(33,150,243,0.6)' : 'none' ]]]
icon:
- color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 1
? 'white' : '#2196f3' ]]]
name:
- color: white
- font-weight: 700
- font-size: 11px
- type: custom:button-card
name: Manuel
icon: mdi:hand-back-right
tap_action:
action: call-service
service: script.ve_mode_manuel
styles:
card:
- height: 60px
- border-radius: 16px
- background-color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 2
? 'rgba(156, 39, 176, 0.8)' : '#1a1a1a' ]]]
- border: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 2
? '2px solid #9c27b0' : '1px solid #333' ]]]
- box-shadow: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 2
? '0 0 15px rgba(156,39,176,0.6)' : 'none' ]]]
icon:
- color: >-
[[[ return states['sensor.borne_ve_api']?.attributes?.mode == 2
? 'white' : '#9c27b0' ]]]
name:
- color: white
- font-weight: 700
- font-size: 11px
- type: tile
entity: number.courant_borne_ve_dynamique
name: réglage intensité
icon: mdi:lightning-bolt
features:
- type: numeric-input
card_mod:
style: |
ha-card {
{% set v = states('number.courant_borne_ve_dynamique') | float(0) %}
{% set c = '#4caf50' if v < 14 else '#ff9800' if v <= 16 else '#f44336' %}
--tile-color: {{ c }} !important;
}
ha-control-slider {
--control-slider-background: rgba(255, 255, 255, 0.2) !important;
--control-slider-thumb-visibility: visible !important;
}
- type: custom:button-card
entity: sensor.etat_de_la_liaison_ve
name: État de la liaison VE
show_icon: true
show_name: true
show_state: true
styles:
grid:
- grid-template-areas: "\"i n s\""
- grid-template-columns: 45px auto max-content
- align-items: center
card:
- padding: 8px 16px
- background: none
- border: none
- box-shadow: none
- "--wave-color": |
[[[
const v = states['sensor.courant_de_charge_ve'].state;
if (v < 14) return '76, 175, 80'; // Vert (#4caf50)
if (v <= 16) return '255, 152, 0'; // Orange (#ff9800)
return '244, 67, 54'; // Rouge (#f44336)
]]]
icon:
- width: 40px
- height: 40px
- margin-left: 10px
- color: |
[[[
const s = entity.state;
if (s.includes('A -')) return '#9e9e9e';
if (s.includes('B -')) return '#00b0ff';
if (s.includes('C -')) return '#00b0ff';
if (s.includes('F -')) return '#ff5252';
return 'white';
]]]
name:
- justify-self: start
- font-size: 14px
- margin-left: 20px
state:
- justify-self: end
- font-size: 14px
custom_fields:
wave: |
[[[
if (entity.state.includes('C -')) {
return `
<div class="wave-container">
<svg class="wave-svg second" viewBox="0 0 1440 320"><path d="M0,160L48,170.7C96,181,192,203,288,218.7C384,235,480,245,576,240C672,235,768,213,864,202.7C960,192,1056,192,1152,181.3C1248,171,1344,149,1392,138.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>
<svg class="wave-svg" viewBox="0 0 1440 320"><path d="M0,160L48,170.7C96,181,192,203,288,218.7C384,235,480,245,576,240C672,235,768,213,864,202.7C960,192,1056,192,1152,181.3C1248,171,1344,149,1392,138.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>
</div>
`;
}
]]]
extra_styles: |
.wave-container {
position: absolute;
top: 0px;
left: 8px;
width: 70px;
height: 55px;
border-radius: 50%;
overflow: hidden;
z-index: 0;
background: rgba(var(--wave-color), 0.1); /* Utilise la variable */
pointer-events: none;
}
.wave-svg {
position: absolute;
bottom: -8px;
left: 0;
width: 400%;
height: 140%;
fill: rgba(var(--wave-color), 0.5); /* Utilise la variable */
animation: wave-move 3s infinite linear;
}
.wave-svg.second {
fill: rgba(var(--wave-color), 0.2); /* Utilise la variable */
animation: wave-move 6s infinite linear;
bottom: -0px;
}
@keyframes wave-move {
0% { transform: translateX(0); }
100% { transform: translateX(-70%); }
}
.img-cell {
z-index: 1;
}
- type: custom:config-template-card
entities:
- number.courant_borne_ve_dynamique
- sensor.courant_de_charge_ve
card:
type: custom:bar-card
name: Courant Actuel
direction: right
height: 40px
positions:
icon: "off"
indicator: "off"
name: inside
value: inside
min: 4
max: ${states['number.courant_borne_ve_dynamique'].attributes.max}
severity:
- color: "#00e676"
from: 0
to: 13.9
- color: "#ffeb3b"
from: 14
to: 16
- color: "#ff5252"
from: 16.1
to: 40
style: |
ha-card {
background: #000;
border-radius: 15px;
border: 1px solid #444;
padding: 10px;
}
/* Optionnel : ajoute du contraste au texte sur les couleurs claires */
.bar-card-name, .bar-card-value {
font-weight: bold;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
entities:
- entity: sensor.courant_de_charge_ve
- type: entities
title: Station de charge VE
show_header_toggle: false
entities:
- entity: sensor.courant_de_charge_ve
name: Courant de charge
icon: mdi:flash
- entity: sensor.routeur_maitre_routeur_rms_puissances_m
name: Production-Consommation
icon: mdi:solar-power-variant-outline
card_mod:
style: |
:host {
--paper-item-icon-color: #ff9800;
background-color: rgba(144, 238, 144, 0.1);
}
- entity: sensor.recharge_cumulee_ve
name: Recharge Cumulée d'énergie
- entity: sensor.temps_de_charge_ve
name: Temps de charge
- entity: sensor.pwm_borne_ve
name: PWM
icon: mdi:pulse
- entity: sensor.etat_de_la_liaison_ve
name: État de la liaison VE
card_mod:
style:
state-badge:
$: |
ha-state-icon {
{% set etat = states('sensor.etat_de_la_liaison_ve') %}
{% if 'A -' in etat %}
color: #9e9e9e !important;
{% elif 'B -' in etat %}
color: #00b0ff !important;
{% elif 'C -' in etat %}
color: #00e676 !important;
animation: blink 2s infinite;
{% elif 'F -' in etat %}
color: #ff5252 !important;
{% endif %}
}
ha-icon {
height: 40px !important;
width: 40px !important;
}
@keyframes blink {
50% { opacity: 0.3; }
}
.: |
:host {
--mdc-icon-size: 40px !important;
}
- entity: sensor.mode_de_fonctionnement_borne_ve
name: Mode de fonctionnement
- entity: number.courant_borne_ve_dynamique
name: "I charge manuel :"
Messages : 331
Sujets : 20
Inscription : Feb 2025
(Hier, 12:00 AM)Geosr a écrit : Je vous partage ici la procédure complète pour installer et utiliser l’intégration RMS VE dans Home Assistant, permettant de piloter et superviser un routeur de charge VE.
Merci pour ta contribution et pour la doc.
J'ai porté la doc dans la documentation générale Station de charge VE-RMS.
3 kWc - Enphase iq8hc
Enphase envoy metered
RMS triac - 2,2kW appoint ECS
RMS Station de charge VE-RMS
Merci André !
Messages : 22
Sujets : 4
Inscription : Jul 2024
(Hier, 11:45 PM)Rakibou a écrit : (Hier, 12:00 AM)Geosr a écrit : Je vous partage ici la procédure complète pour installer et utiliser l’intégration RMS VE dans Home Assistant, permettant de piloter et superviser un routeur de charge VE.
Merci pour ta contribution et pour la doc.
J'ai porté la doc dans la documentation générale Station de charge VE-RMS.
Avoir plaisir
|