Files
EVCS/modified/lovelace_evcs-master_backup_2026-07-09T18-17-33.json

696 lines
20 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"views": [
{
"title": "EVCS Master",
"path": "default_view",
"icon": "mdi:car-electric",
"cards": [
{
"type": "vertical-stack",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "EVCS Master",
"subtitle": "Vue borne / session / stratégie / énergie"
},
{
"type": "conditional",
"conditions": [
{
"entity": "binary_sensor.victron_evcs_vehicle_connected",
"state": "off"
}
],
"card": {
"type": "markdown",
"content": "## ℹ️ Véhicule non détecté\n"
}
},
{
"type": "conditional",
"conditions": [
{
"entity": "binary_sensor.victron_evcs_vehicle_connected",
"state": "on"
},
{
"entity": "switch.victron_evcs_charging",
"state": "off"
}
],
"card": {
"type": "markdown",
"content": "## ⚠️ Véhicule connecté mais charge inactive\n"
}
},
{
"type": "conditional",
"conditions": [
{
"entity": "switch.victron_evcs_charging",
"state": "on"
}
],
"card": {
"type": "markdown",
"content": "## ✅ Charge EVCS active\n"
}
}
]
},
{
"type": "custom:layout-card",
"layout_type": "grid",
"layout": {
"grid-template-columns": "repeat(auto-fit, minmax(380px, 1fr))",
"grid-gap": "16px",
"margin": 0
},
"cards": [
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "État borne",
"subtitle": "Statut global"
},
{
"type": "custom:mushroom-template-card",
"entity": "sensor.victron_evcs_statut_fr",
"primary": "EVCS",
"secondary": "{{ states('sensor.victron_evcs_statut_fr') }} • Mode {{ states('sensor.victron_evcs_mode_fr') }} • {{ states('sensor.victron_evcs_current') | float(0) | round(1) }} A\n",
"multiline_secondary": true,
"icon": "mdi:ev-station",
"icon_color": "{% if is_state('switch.victron_evcs_charging', 'on') %}\n green\n{% elif is_state('binary_sensor.victron_evcs_vehicle_connected', 'on') %}\n blue\n{% else %}\n grey\n{% endif %}\n"
},
{
"type": "entities",
"show_header_toggle": false,
"entities": [
{
"entity": "sensor.victron_evcs_statut_fr",
"name": "Statut FR"
},
{
"entity": "sensor.victron_evcs_mode_fr",
"name": "Mode FR"
},
{
"entity": "sensor.victron_evcs_status_raw",
"name": "Statut brut"
},
{
"entity": "sensor.victron_evcs_mode_raw",
"name": "Mode brut"
},
{
"entity": "binary_sensor.victron_evcs_device_connected",
"name": "EVCS détecté"
},
{
"entity": "binary_sensor.victron_evcs_vehicle_connected",
"name": "Véhicule connecté"
},
{
"entity": "sensor.victron_evcs_charging_time",
"name": "Durée charge"
},
{
"entity": "input_boolean.victron_evcs_surplus_auto_enabled",
"name": "Contrôleur surplus actif"
}
]
}
]
},
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "Session",
"subtitle": "Courant / puissance / énergie"
},
{
"type": "custom:gauge-card-pro",
"entity": "sensor.victron_evcs_current",
"header": "Courant EVCS",
"min": 0,
"max": 32,
"needle": true,
"segments": [
{
"from": 0,
"color": "#43a047"
},
{
"from": 6,
"color": "#fdd835"
},
{
"from": 16,
"color": "#fb8c00"
},
{
"from": 24,
"color": "#e53935"
}
]
},
{
"type": "custom:mushroom-template-card",
"primary": "Session en cours",
"secondary": "{{ states('sensor.victron_evcs_ac_power') | float(0) | round(0) }} W • {{ states('sensor.victron_evcs_current') | float(0) | round(1) }} A • Consigne {{ states('sensor.victron_evcs_set_current') | float(0) | round(1) }} A • {{ states('sensor.victron_evcs_charging_time') }}\n",
"multiline_secondary": true,
"icon": "mdi:flash",
"icon_color": "amber"
},
{
"type": "entities",
"show_header_toggle": false,
"entities": [
{
"entity": "sensor.victron_evcs_ac_power",
"name": "Puissance EVCS"
},
{
"entity": "sensor.victron_evcs_l1_power",
"name": "Puissance L1"
},
{
"entity": "sensor.victron_evcs_current",
"name": "Courant réel"
},
{
"entity": "sensor.victron_evcs_set_current",
"name": "Consigne lue"
},
{
"entity": "number.victron_evcs_set_current_command",
"name": "Consigne envoyée"
},
{
"entity": "sensor.victron_evcs_charging_time",
"name": "Durée charge"
},
{
"entity": "sensor.victron_evcs_l1_energy_forward",
"name": "Énergie session"
}
]
}
]
},
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "Stratégie & décision",
"subtitle": "Mode utilisateur / logique n8n"
},
{
"type": "custom:mushroom-template-card",
"primary": "Mode utilisateur",
"secondary": "Stratégie : {{ states('input_select.victron_evcs_strategy') }} • Profil : {{ states('input_text.victron_evcs_operating_mode') }} • Décision : {{ states('input_text.victron_evcs_surplus_current_decision') }} • Source : {{ states('input_text.victron_evcs_source_mode') }}\n",
"multiline_secondary": true,
"icon": "mdi:strategy",
"icon_color": "{% if is_state('input_select.victron_evcs_strategy', 'force_grid_now') %}\n red\n{% elif is_state('input_select.victron_evcs_strategy', 'force_charge_now') %}\n orange\n{% elif is_state('input_select.victron_evcs_strategy', 'auto_solar_plus') %}\n green\n{% elif is_state('input_select.victron_evcs_strategy', 'auto_solar') %}\n teal\n{% else %}\n grey\n{% endif %}\n"
},
{
"type": "custom:mushroom-template-card",
"primary": "Besoin véhicule",
"secondary": "Véhicule : {{ states('input_select.victron_evcs_target_vehicle') }} • {{ states('input_number.victron_evcs_required_energy_kwh') | float(0) | round(1) }} kWh • Départ : {{ states('input_datetime.victron_evcs_departure_time') }}\n",
"multiline_secondary": true,
"icon": "mdi:calendar-clock",
"icon_color": "cyan"
},
{
"type": "entities",
"title": "Paramètres utilisateur",
"show_header_toggle": false,
"entities": [
{
"entity": "input_select.victron_evcs_target_vehicle",
"name": "Véhicule cible"
},
{
"entity": "input_number.victron_evcs_required_energy_kwh",
"name": "Énergie demandée"
},
{
"entity": "input_boolean.victron_evcs_departure_priority_enabled",
"name": "Priorité départ"
},
{
"entity": "input_datetime.victron_evcs_departure_time",
"name": "Heure départ"
},
{
"entity": "input_select.victron_evcs_strategy",
"name": "Stratégie EVCS"
},
{
"entity": "input_boolean.victron_evcs_allow_grid_hc_night",
"name": "Réseau HC nuit"
},
{
"entity": "input_boolean.victron_evcs_allow_grid_hc_midday",
"name": "Réseau HC midi"
},
{
"entity": "input_boolean.victron_evcs_surplus_auto_enabled",
"name": "Contrôleur surplus actif"
}
]
},
{
"type": "entities",
"title": "Décision contrôleur",
"show_header_toggle": false,
"entities": [
{
"entity": "input_text.victron_evcs_operating_mode",
"name": "Profil actif"
},
{
"entity": "input_text.victron_evcs_surplus_state",
"name": "État interne"
},
{
"entity": "input_text.victron_evcs_surplus_current_decision",
"name": "Décision logique"
},
{
"entity": "input_text.victron_evcs_source_mode",
"name": "Source autorisée"
},
{
"entity": "input_text.victron_evcs_surplus_reason",
"name": "Raison courte"
},
{
"entity": "input_text.victron_evcs_last_block_reason",
"name": "Dernier blocage"
},
{
"entity": "input_datetime.victron_evcs_blocked_until",
"name": "Bloqué jusqu'à"
}
]
}
]
},
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "Contexte énergie",
"subtitle": "Batterie / PV / maison / réseau"
},
{
"type": "custom:mushroom-template-card",
"primary": "Contexte instantané",
"secondary": "SOC {{ states('sensor.victron_battery_soc') | float(0) | round(1) }} % • PV {{ states('sensor.victron_pv_power_system') | float(0) | round(0) }} W • Maison {{ states('sensor.victron_consumption_power_l1') | float(0) | round(0) }} W • Grid {{ states('sensor.victron_grid_power_l1') | float(0) | round(0) }} W\n",
"multiline_secondary": true,
"icon": "mdi:home-lightning-bolt",
"icon_color": "{% set pv = states('sensor.victron_pv_power_system') | float(0) %} {% if pv < 300 %} grey {% elif pv < 1500 %} yellow {% else %} green {% endif %}\n"
},
{
"type": "entities",
"show_header_toggle": false,
"entities": [
{
"entity": "sensor.victron_battery_soc",
"name": "SOC batterie"
},
{
"entity": "sensor.victron_battery_current",
"name": "Courant batterie"
},
{
"entity": "sensor.victron_pv_power_system",
"name": "Puissance PV"
},
{
"entity": "sensor.victron_consumption_power_l1",
"name": "Charges maison"
},
{
"entity": "sensor.victron_grid_power_l1",
"name": "Puissance réseau"
},
{
"entity": "switch.edf_general_ok_switch",
"name": "Réseau EDF"
}
]
}
]
},
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "Actions rapides",
"subtitle": "Contrôle direct EVCS"
},
{
"type": "grid",
"columns": 2,
"square": false,
"cards": [
{
"type": "custom:button-card",
"entity": "switch.victron_evcs_charging",
"name": "Charge",
"icon": "mdi:ev-station",
"show_state": true,
"state_display": "[[[\n if (!entity) return 'Inconnu';\n if (entity.state === 'on') return 'ON';\n if (entity.state === 'off') return 'OFF';\n return entity.state;\n]]]\n",
"tap_action": {
"action": "toggle"
},
"hold_action": {
"action": "more-info"
},
"styles": {
"card": [
{
"border-radius": "18px"
},
{
"padding": "12px"
}
],
"name": [
{
"font-size": "15px"
},
{
"font-weight": 600
}
],
"state": [
{
"font-size": "12px"
}
]
},
"state": [
{
"value": "on",
"color": "#43a047"
},
{
"value": "off",
"color": "#757575"
}
]
},
{
"type": "custom:button-card",
"entity": "input_boolean.victron_evcs_surplus_auto_enabled",
"name": "Contrôleur surplus",
"icon": "mdi:robot",
"show_state": true,
"tap_action": {
"action": "toggle"
},
"hold_action": {
"action": "more-info"
},
"styles": {
"card": [
{
"border-radius": "18px"
},
{
"padding": "12px"
}
],
"name": [
{
"font-size": "15px"
},
{
"font-weight": 600
}
],
"state": [
{
"font-size": "12px"
}
]
},
"state": [
{
"value": "on",
"color": "#26a69a"
},
{
"value": "off",
"color": "#757575"
}
]
},
{
"type": "custom:button-card",
"entity": "binary_sensor.victron_evcs_vehicle_connected",
"name": "Véhicule",
"icon": "mdi:car-electric",
"show_state": true,
"tap_action": {
"action": "more-info"
},
"styles": {
"card": [
{
"border-radius": "18px"
},
{
"padding": "12px"
}
],
"name": [
{
"font-size": "15px"
},
{
"font-weight": 600
}
],
"state": [
{
"font-size": "12px"
}
]
},
"state": [
{
"value": "on",
"color": "#1e88e5"
},
{
"value": "off",
"color": "#757575"
}
]
},
{
"type": "custom:button-card",
"entity": "number.victron_evcs_set_current_command",
"name": "Courant demandé",
"icon": "mdi:current-ac",
"show_state": true,
"tap_action": {
"action": "more-info"
},
"hold_action": {
"action": "more-info"
},
"styles": {
"card": [
{
"border-radius": "18px"
},
{
"padding": "12px"
}
],
"name": [
{
"font-size": "15px"
},
{
"font-weight": 600
}
],
"state": [
{
"font-size": "12px"
}
]
}
}
]
},
{
"type": "entities",
"title": "Commandes manuelles",
"show_header_toggle": false,
"entities": [
{
"entity": "switch.victron_evcs_charging",
"name": "Start / Stop charge"
},
{
"entity": "number.victron_evcs_set_current_command",
"name": "Courant demandé"
},
{
"entity": "input_boolean.victron_evcs_charge_permission_now",
"name": "Permission charge"
},
{
"entity": "input_boolean.victron_evcs_control_latch",
"name": "Latch contrôle"
},
{
"entity": "switch.victron_evcs_auto_start",
"name": "Auto Start borne (diagnostic)"
}
]
}
]
},
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "Diagnostic",
"subtitle": "Identité / version / brut"
},
{
"type": "entities",
"show_header_toggle": false,
"entities": [
{
"entity": "sensor.victron_evcs_product_name",
"name": "Produit"
},
{
"entity": "sensor.victron_evcs_custom_name",
"name": "Nom borne"
},
{
"entity": "sensor.victron_evcs_serial",
"name": "Numéro de série"
},
{
"entity": "sensor.victron_evcs_firmware_version",
"name": "Firmware"
},
{
"entity": "sensor.victron_evcs_connected_raw",
"name": "Connected brut"
},
{
"entity": "sensor.victron_evcs_status_raw",
"name": "Statut brut"
},
{
"entity": "sensor.victron_evcs_mode_raw",
"name": "Mode brut"
},
{
"entity": "switch.victron_evcs_auto_start",
"name": "Auto Start borne"
},
{
"entity": "input_datetime.victron_evcs_last_start_at",
"name": "Dernier start"
},
{
"entity": "input_datetime.victron_evcs_last_stop_at",
"name": "Dernier stop"
},
{
"entity": "input_datetime.victron_evcs_last_current_change_at",
"name": "Dernier changement courant"
},
{
"entity": "input_datetime.victron_evcs_probe_started_at",
"name": "Début probe"
},
{
"entity": "input_datetime.victron_evcs_cloud_debt_started_at",
"name": "Début cloud debt"
},
{
"entity": "input_number.victron_evcs_cloud_debt_kwh",
"name": "Cloud debt"
},
{
"entity": "input_text.victron_evcs_control_last_signature",
"name": "Signature"
}
]
}
]
}
]
},
{
"type": "custom:vertical-stack-in-card",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "Historique EVCS",
"subtitle": "12 dernières heures"
},
{
"type": "custom:apexcharts-card",
"graph_span": "12h",
"header": {
"show": true,
"title": "Session EVCS",
"show_states": false
},
"series": [
{
"entity": "sensor.victron_evcs_current",
"name": "Courant EVCS",
"color": "#42a5f5"
},
{
"entity": "sensor.victron_evcs_set_current",
"name": "Consigne lue",
"color": "#ffca28"
},
{
"entity": "sensor.victron_evcs_ac_power",
"name": "Puissance EVCS",
"color": "#66bb6a"
},
{
"entity": "sensor.victron_pv_power_system",
"name": "PV",
"color": "#fdd835"
},
{
"entity": "sensor.victron_grid_power_l1",
"name": "Réseau",
"color": "#ef5350"
}
]
}
]
}
]
}
]
}