Chat GPT est (encore) ton ami… pour ton Jeedom
Apres plusieurs astuces decouvertes dans ces articles je me suis dit que CHAT GPT était le seul courageux à bien vouloir éplucher ma logique.
Exporter automatiquement vos scénarios Jeedom : ciblés ou en totalité
Dans une installation domotique évoluée, il devient rapidement indispensable de conserver une trace ou une sauvegarde des scénarios créés dans Jeedom. Que ce soit pour les suivre les versions, les réutiliser ailleurs ou simplement archiver leur logique, l’export automatique peut vous faire gagner un temps précieux.
Sur Youdom.net, nous vous proposons aujourd’hui deux blocs de code PHP très simples à intégrer dans un scénario de type code ou dans un script externe, pour automatiser l’export de vos scénarios Jeedom. Ces solutions peuvent également être adaptées pour une utilisation avec un CRON ou un déclencheur spécifique.
Bloc 1 – Export de scénarios ciblés
Ce premier script vous permet d’exporter uniquement une liste précise de scénarios, identifiés par leur ID Jeedom. C’est idéal si vous souhaitez garder des versions ou sauvegarder seulement les scénarios critiques de votre installation.
phpCopierModifier// Liste des IDs de scénarios à exporter
$scenario_ids = [99, 520, 591, 98, 521, 377, 445, 132, 100, 446, 477, 328, 444, 560, 570];
// Fichier d'export
$file = "/var/www/html/data/Scenarios_Cibles.txt";
// En-tête
file_put_contents($file, "EXPORT DE SCENARIOS CIBLÉS - " . date("j-M-Y H:i") . "\n\n");
// Parcours des scénarios ciblés
foreach ($scenario_ids as $id) {
$scenario = scenario::byId($id);
if (is_object($scenario)) {
$export = $scenario->export('text');
file_put_contents($file, "----- Scénario ID: {$id} - {$scenario->getName()} -----\n", FILE_APPEND);
file_put_contents($file, $export . "\n\n", FILE_APPEND);
} else {
file_put_contents($file, "⚠ Scénario ID {$id} non trouvé.\n\n", FILE_APPEND);
}
}
Résultat : Un fichier Scenarios_Cibles.txt
est généré dans le dossier /var/www/html/data
, contenant les exports texte des scénarios ciblés.
Maintenant que vous avez ciblés vos scénarios par type, par exemple : ALARME, CHAUFFAGE, MONITORING … vous pouvez les injecter dans chat GPT et lui demander s’il trouve des doublons, qu’il propose des améliorations …

—————————————————————————
EXEMPLE sur mes scenarios :
Peux-tu analyser ces scénarios et relevés des doublons ou des améliorations ?
ChatGPT a dit :
Merci pour le partage de tes scénarios. Voici une analyse des doublons et propositions d’amélioration, organisées par catégories :
🔁 DOUBLONS DÉTECTÉS
1. Notifications répétées sur les fenêtres/lumières (Scénario 580 – Verif Nuit)
Tu as un enchaînement de SI/SINON pour chaque élément (fenêtre, lumière, prise…). Cela rend le scénario :
- Long et peu maintenable
- Redondant avec le scénario
469 - Fenetre
et485 - Fenetre_NUIT
qui surveillent aussi les ouvertures
✅ Amélioration proposée :
- Crée une boucle avec un tableau de périphériques ou un scénario générique avec passage de nom via une commande (virtuel ou bloc code).
- Regroupe les messages de type identique pour éviter une surcharge de notifications (ex : « Attention 3 fenêtres sont encore ouvertes : salon, cuisine, chambre »).
2. Gestion du chauffage pendant absence
- Les scénarios 1 Présence (536), 2 Alarme (390) et Fenetre/Fenetre_NUIT coupent le chauffage dans des conditions similaires (absence, fenêtres ouvertes, alarme).
- Tous passent les têtes thermostatiques en mode « Absent » et changent le mode de chauffage NP/Neta.
✅ Amélioration proposée :
- Extraire la logique “mise en absence chauffage” dans un scénario commun appelé par les autres.
- Factoriser la condition
Mode == Froid ET Alarme == 1
(présente dans 390 et 536).
3. Redondance entre « Fenetre » et « Fenetre_NUIT »
Les deux scénarios effectuent :
- des vérifications sur les ouvrants,
- l’envoi de notifications,
- la coupure du chauffage selon heure et température.
✅ Amélioration proposée :
- Fusionner dans un scénario unique avec condition sur le mode
Jour/Nuit
. - Mutualiser les appels Alexa/Ulanzi avec passage d’un paramètre pièce.
Souhaites-tu que je t’aide à convertir un de ces scénarios en bloc code optimisé ? Si oui, lequel prioritairement ?
Bloc 2 – Export de tous les scénarios Jeedom
Si vous préférez capturer l’intégralité de vos scénarios, ce second script s’en charge automatiquement en parcourant tous les scénarios existants dans votre Jeedom.
phpCopierModifier// Fichier d'export
$file = "/var/www/html/data/TousLesScenarios.txt";
// En-tête
file_put_contents($file, "EXPORT DE TOUS LES SCENARIOS - " . date("j-M-Y H:i") . "\n\n");
// Récupération de tous les scénarios
$scenarios = scenario::all();
foreach ($scenarios as $scenario) {
// Export texte du scénario
$export = $scenario->export('text');
// Ajout d'un séparateur et du contenu exporté
file_put_contents($file, "----- Scénario ID: {$scenario->getId()} - {$scenario->getName()} -----\n", FILE_APPEND);
file_put_contents($file, $export . "\n\n", FILE_APPEND);
}
Résultat : Le fichier TousLesScenarios.txt
contiendra l’ensemble des scénarios de votre système, avec un en-tête lisible et des séparateurs pour chaque bloc.
Pourquoi automatiser l’export de vos scénarios ?
- Archivage de versions simplifié : Comparez facilement les versions de vos scénarios au fil du temps.
- Sauvegarde manuelle complémentaire : Utile en plus d’un backup global Jeedom.
- Audit et documentation : Partagez ou archivez la logique domotique avec d’autres utilisateurs ou collaborateurs.
Astuce Youdom
Vous pouvez automatiser l’exécution de ces scripts à l’aide d’un scénario planifié dans Jeedom ou d’une tâche CRON, afin d’obtenir une sauvegarde régulière (quotidienne, hebdomadaire…).
Si vous avez des besoins particuliers (export JSON, envoi par mail, export vers Google Drive, etc.), n’hésitez pas à nous le faire savoir via les commentaires ou le forum. L’équipe Youdom se fera un plaisir de vous aider à enrichir ces scripts selon vos besoins.