ha_urbansolar_bv – Simulez une batterie virtuelle dans Home Assistant
Bonjour la communauté HACF
,
Je vous présente une intégration que j’ai développée pour Home Assistant :
ha_urbansolar_bv, une solution pour simuler le comportement d’une batterie virtuelle, comme celle proposée par Urban Solar.
Objectif
Cette intégration permet de suivre précisément l’état de stock de votre batterie virtuelle (en kWh), en vous appuyant sur deux entités puissances :
Puissance de Production solaire (en kW)
Puissance Consommée totale (en kW)
À partir de ces données, l’intégration :
- Calcule les flux d’énergie : autoconsommation, surplus injecté, énergie importée,
- Estime quotidiennement la charge/décharge de la batterie virtuelle,
- Met à jour automatiquement son état de charge,
- Permet des ajustements manuels du stock à tout moment,
- Génère un dashboard Lovelace clé en main pour visualiser tous les flux d’énergie et l’état de la batterie.
Fonctionnalités
Configuration simple via l’UI (config_flow) :
- Choix des capteurs de puissance (production solaire & consommation)
Et rien d’autre !
Génération automatique :
- Capteurs
template modernes
- Capteurs
integration pour convertir les puissances en énergie
utility_meter pour suivre les flux d’énergie (quotidien, mensuel, etc.)
input_number pour simuler le niveau de batterie (stock kWh)
Automatisations pour calculer et mettre à jour la batterie
Dashboard Lovelace avec :
- Carte
energy-flow-card-plus
- Carte
power-flow-card-plus
- Graphiques
apexcharts-card
Vertical Stack In Card
- Contrôle manuel du stock via
number-box
Compatible avec tout fournisseur proposant des batteries virtuelles ou systèmes de compensation de surplus.
Aperçu
1 « J'aime »
Je testerai et ferai un retour à l’occasion,
Vous pouvez peut être regarder sur mes template et mon sujet là partie, calcul et achat réseau quand la batterie est vide, en place dans la partie énergie c’est top.
1 « J'aime »
Normalement j’ai déjà la logique qui tient compte du niveau de batterie pour tirer sur le réseau ou non, mais je regarderai avec plaisir
Hello,
Fraîchement équipé de panneaux solaires en attendant l’activation de ma batterie virtuelle je recherche le meilleur système pour arriver à ce que je cherche 
Votre intégration me paraît tout indiqué mais je n’arrive malheureusement pas à l’installer, la partie HACS fonctionne bien mais une fois dans la
partie intégration rien de disponible. J’ai bien redémarré même désinstallé dans HACS et réinstaller mais toujours rien.
Merci d’avance pour votre aide.
Salut,
J’avis raté le sujet, et je me pose une question.
Quitte à simuler la batterie, on peut aussi ajouter une simulation de panneaux GitHub - rany2/ha-open-meteo-solar-forecast: Home Assistant Open-Meteo Solar Forecast Integration ?
ça ferai une belle maquette avant de se lancer
Oui ça fonctionne je l’ai fait 
Maintenant me reste plus qu’à trouver a comment bien faire fonctionner la batterie virtuelle 
1 « J'aime »
Pas si compliqué, mais il y a un peu plus de corrections à faire sur les noms
Pour info, passer par un package ça permet d’ajouter plus facilement que les include quand il existent déjà
Je ne sais pas trop c’est sensé marcher, et ça marche chez moi
Bien lire les 2 OT et installer les dependances🙏
‘‘‘
#Urban solar
input_number: !include urban_input_numbers.yaml
sensor: !include urban_integrations.yaml
template: !include urban_sensors.yaml
utility_meter: !include urban_utility_meters.yaml
automation: !include urban_automations.yaml
lovelace:
mode: yaml
resources:
- url: /hacsfiles/apexcharts-card/apexcharts-card.js
type: module
- url: /hacsfiles/vertical-stack-in-card/vertical-stack-in-card.js
type: module
- url: /hacsfiles/numberbox-card/numberbox-card.js
type: module
- url: /hacsfiles/power-flow-card-plus/power-flow-card-plus.js
type: module
- url: /hacsfiles/energy-flow-card-plus/energy-flow-card-plus.js
type: module
dashboards:
urban-dashboard:
title: Urban Solar Dashboard
mode: yaml
filename: urban_dashboard.yaml
‘‘‘
Oui c’est pas ça le souci 
J’ai proposé une amélioration de cette intégration de rany pour info, SunForecast plus, je comprends ton point c’est intéressant
1 « J'aime »
Je veux bien que tu développes dans ce cas s il te plaît
Il me manque la partie conso (pas de linky, mais je vais me bricoler un truc en attendant), du coup pas moyen de finaliser correctement la batterie virtuelle.
Et donc toutes les entités ne sont pas encore créées
Sinon en terme d’intégration, on peut :
- Passer par hacs pour installer les dépendances
- Inclure des packages (j’ai viré les fichiers vides). Il faut par contre préfixer les fichiers avec le bon type d’entité
homeassistant:
packages:
urbansolar_battery_input_number: !include yaml_entities/packages/urbansolar_battery/input_numbers.yaml
urbansolar_battery_utility_meter: !include yaml_entities/packages/urbansolar_battery/utility_meters.yaml
urbansolar_battery_automation: !include yaml_entities/packages/urbansolar_battery/automations.yaml
- la partie dashboard, copiée/collée dans une carte vierge quand on est pas en mode yaml
1 « J'aime »
Je veux bien te croire
mais chez moi impossible.
Je vais essayer de nouveau. Temps que je ne peux pas installer l’intégration je ne pourrai pas aller plus loin 
La déclaration dans le fichier de configuration peut-elle être réalisée à n’importe quel endroit du fichier ?
J’ai pris le parti de passer par les mesures de puissances généralement disponible avec les installations solaires, j aurai pu faire avec linky aussi mais maintenant ça changerait trop le scope de l 'intégration si je voulais adapter. A voir plus tard
A piori oui, a fortiori ça se tente 
la partie avec le lovelace vous l’intégrez également dans le fichier de config?
Dès que je le fais j’ai des erreurs sur mes vues
Voici ma config a titre d exemple
default_config:
frontend:
themes: !include_dir_merge_named themes
script: !include scripts.yaml
scene: !include scenes.yaml
automation: !include automations.yaml
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
- 192.168.1.85
ip_ban_enabled: true
login_attempts_threshold: 5
logger:
default: info
logs:
custom_components.ha_sunforecast_plus: debug
custom_components.ha_sunforecast_plus.data_update_coordinator: debug
Urban Solar
input_number: !include urban_input_numbers.yaml
template: !include urban_sensors.yaml
utility_meter: !include urban_utility_meters.yaml
automation urban: !include urban_automations.yaml
sensor: !include urban_integrations.yaml
lovelace:
mode: yaml
resources:
- url: /hacsfiles/apexcharts-card/apexcharts-card.js
type: module
- url: /hacsfiles/vertical-stack-in-card/vertical-stack-in-card.js
type: module
- url: /hacsfiles/numberbox-card/numberbox-card.js
type: module
- url: /hacsfiles/power-flow-card-plus/power-flow-card-plus.js
type: module
- url: /hacsfiles/energy-flow-card-plus/energy-flow-card-plus.js
type: module
- url: /hacsfiles/weather-radar-card/weather-radar-card.js
type: module
- url: /hacsfiles/energy-period-selector-plus/energy-period-selector-plus.js
type: module
dashboards:
urban-dashboard:
title: Urban Solar Dashboard
mode: yaml
filename: urban_dashboard.yaml
bien rajouter le suffixe urban a automation ou sensor … etc si des automations ou autres sont déjà presentes pour que les deux configs ne rentrent pas en conflit