etm-terrain/scripts/fiches_victron.py

267 lines
10 KiB
Python

"""
Fiches techniques Victron MultiPlus — données critiques pour la FAQ SAV.
Usage : python scripts/fiches_victron.py
"""
FICHES_VICTRON = [
# --- VISSERIE & COUPLES ---
{
"id": "victron_couples_serrage",
"document": (
"Couple de serrage visserie Victron MultiPlus II. "
"Vis M4 : 1 Nm. Vis M5 : 3 Nm. Vis M6 : 5,5 Nm. "
"Vis M8 batterie : 12 Nm. Bornes AC général : 1,6 Nm. "
"Bornes AC-out-2 : 2 Nm maximum."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.15",
"type": "fiche_technique",
},
# --- CÂBLES & FUSIBLES ---
{
"id": "victron_fusibles_cables_3kva",
"document": (
"Câbles et fusibles batterie MultiPlus II 3kVA. "
"Modèle 12/3000 : fusible 400A, câble 2x50mm² sur 0-5m. "
"Modèle 24/3000 : fusible 300A, câble 50mm² sur 0-5m, 95mm² sur 5-10m. "
"Modèle 48/3000 : fusible 125A, câble 35mm² sur 0-5m, 70mm² sur 5-10m."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.14",
"type": "fiche_technique",
},
{
"id": "victron_fusibles_cables_5kva",
"document": (
"Câbles et fusibles batterie MultiPlus II 5kVA. "
"Modèle 12/5000 : fusible 600A, câble 2x95mm² sur 0-5m. "
"Modèle 24/5000 : fusible 400A, câble 2x50mm² sur 0-5m. "
"Modèle 48/5000 : fusible 200A, câble 70mm² sur 0-5m, 120mm² sur 5-10m."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.14",
"type": "fiche_technique",
},
# --- TENSIONS DE CHARGE ---
{
"id": "victron_tensions_48v",
"document": (
"Tensions de charge MultiPlus II 48V réglages usine. "
"Absorption : 57,6V. Float : 55,2V. Stockage (veille) : 52,8V. "
"Ces valeurs s'appliquent aux modèles 48/3000, 48/5000, 48/8000, 48/10000."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.18",
"type": "fiche_technique",
},
{
"id": "victron_tensions_24v",
"document": (
"Tensions de charge MultiPlus II 24V réglages usine. "
"Absorption : 28,8V. Float : 27,6V. Stockage (veille) : 26,4V. "
"S'applique aux modèles 24/3000 et 24/5000."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.18",
"type": "fiche_technique",
},
{
"id": "victron_tensions_12v",
"document": (
"Tensions de charge MultiPlus II 12V réglages usine. "
"Absorption : 14,4V. Float : 13,8V. Stockage (veille) : 13,2V. "
"S'applique aux modèles 12/3000 et 12/5000."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.18",
"type": "fiche_technique",
},
# --- LED & VOYANTS ---
{
"id": "victron_led_overload_clignotant",
"document": (
"MultiPlus LED overload clignote = pré-alarme surcharge. "
"La charge connectée dépasse la puissance nominale du convertisseur. "
"Action : réduire la charge sur AC-out-1. "
"Si LED passe fixe = convertisseur arrêté, couper puis relancer."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.9",
"type": "fiche_technique",
},
{
"id": "victron_led_low_battery_overload_alternance",
"document": (
"MultiPlus LED low battery et overload clignotent en alternance = "
"pré-alarme double : batterie presque vide ET surcharge. "
"Action : 1. Réduire ou débrancher la charge. "
"2. Brancher le chargeur ou une source CA. "
"3. Vérifier l'état de charge de la batterie."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.9",
"type": "fiche_technique",
},
{
"id": "victron_led_low_battery_overload_simultane",
"document": (
"MultiPlus LED low battery et overload clignotent simultanément (en même temps) = "
"pré-alarme ondulation CC. La tension d'ondulation dépasse 1,5 Vrms. "
"Action : 1. Vérifier raccordements et câbles batterie. "
"2. Vérifier que la capacité batterie est suffisante. "
"3. Augmenter la capacité batterie si nécessaire."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.10",
"type": "fiche_technique",
},
{
"id": "victron_led_temperature",
"document": (
"MultiPlus LED temperature clignote = pré-alarme surchauffe. "
"Température interne atteint niveau critique. "
"Action : 1. Vérifier ventilation autour de l'appareil (10cm minimum). "
"2. Réduire la charge. "
"3. Si LED temperature fixe = convertisseur arrêté."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.9",
"type": "fiche_technique",
},
# --- CODES VE.BUS ---
{
"id": "victron_vebus_code_24",
"document": (
"Code erreur VE.Bus 24 MultiPlus : protection système de transfert déclenchée. "
"Cause : tension d'entrée CA trop basse ou instable. "
"Action : 1. Arrêter tous les appareils puis redémarrer. "
"2. Si erreur persiste : augmenter limite inférieure tension CA à 210V dans VEConfigure "
"(réglage usine = 180V). "
"3. Vérifier qualité alimentation secteur ou générateur."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.27",
"type": "fiche_technique",
},
{
"id": "victron_vebus_code_25",
"document": (
"Code erreur VE.Bus 25 MultiPlus : incompatibilité firmware. "
"Un appareil connecté a un firmware trop ancien. "
"Action : 1. Arrêter tous les appareils. "
"2. Allumer l'appareil source de l'erreur. "
"3. Allumer les autres un par un jusqu'à reproduction de l'erreur. "
"4. Mettre à jour le firmware du dernier appareil allumé via VictronConnect."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.27",
"type": "fiche_technique",
},
{
"id": "victron_vebus_code_3",
"document": (
"Code erreur VE.Bus 3 MultiPlus : appareils manquants ou en trop dans le système. "
"Cause : mauvaise configuration parallèle/triphasé ou câble communication défaillant. "
"Action : 1. Vérifier câbles RJ45 UTP entre les appareils. "
"2. Arrêter tous les appareils et redémarrer. "
"3. Reconfigurer le système si erreur persiste."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.26",
"type": "fiche_technique",
},
# --- PROTECTION BULK ---
{
"id": "victron_protection_bulk",
"document": (
"MultiPlus protection bulk activée : chargeur en erreur après 10h de charge bulk. "
"Cause probable : cellule batterie en court-circuit ou batterie défaillante. "
"Action : 1. Éteindre puis rallumer le MultiPlus pour réinitialiser. "
"2. Vérifier état des batteries. "
"3. Pour désactiver ce mode : utiliser VEConfigure."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.24",
"type": "fiche_technique",
},
# --- PUISSANCES ---
{
"id": "victron_puissance_temperature",
"document": (
"Puissance de sortie MultiPlus II selon température ambiante. "
"À 25°C : 3000W (3kVA) ou 4000W (5kVA). "
"À 40°C : 2200W (3kVA) ou 3700W (5kVA). "
"À 65°C : 1700W (3kVA) ou 3000W (5kVA). "
"Prévoir déclassement si installation en local chaud."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II 230V — p.28",
"type": "fiche_technique",
},
# --- GX ---
{
"id": "victron_gx_reset_usine",
"document": (
"Réinitialisation usine carte GX du MultiPlus-II GX. "
"Procédure : 1. Télécharger venus-data-90-reset-all.tgz sur victronenergy.com. "
"2. Copier sur clé USB FAT32 sans décompresser. "
"3. Éteindre l'appareil. "
"4. Insérer la clé USB et rallumer. "
"5. Attendre démarrage complet puis retirer la clé. "
"6. Redémarrer."
),
"produit": "Victron MultiPlus",
"source": "Manuel MultiPlus-II GX — p.24",
"type": "fiche_technique",
},
]
def indexer_fiches(faq_service) -> int:
"""Indexer toutes les fiches manuelles dans ChromaDB. Retourne le nombre indexé."""
if not faq_service.collection:
print("❌ ChromaDB non disponible")
return 0
for fiche in FICHES_VICTRON:
faq_service.collection.upsert(
documents=[fiche["document"]],
ids=[fiche["id"]],
metadatas=[{
"source": fiche["source"],
"produit": fiche["produit"],
"type": fiche["type"],
"titre": fiche["id"].replace("_", " "),
}],
)
print(f"{len(FICHES_VICTRON)} fiches Victron indexées")
return len(FICHES_VICTRON)
def verifier_et_indexer(faq_service) -> None:
"""Indexer les fiches si pas encore présentes (appel au démarrage du bot)."""
if not faq_service.collection:
return
try:
result = faq_service.collection.get(ids=["victron_couples_serrage"])
if result["documents"]:
return
except Exception:
pass
indexer_fiches(faq_service)
if __name__ == "__main__":
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
from services.faq_service import faq_service
indexer_fiches(faq_service)