Bonsoir à tous,
J'ai installé des panneaux solaires, un onduleur, une batterie et un smartmeter Izypower.
L'application sur le téléphone fonctionne bien et montre la production solaire, la consommation de la maison et les moments où on produit de l'électricité en excès, qui est injectée sur le réseau.
Je souhaiterais avoir un script ou une appli, qui avec Eedomus, fait basculer un relais pour mettre en marche un chauffe eau électrique, lorsque l'on injecte de l'électricité sur le réseau.
J'ai trouvé ce plugin Izypower qui a été écrit pour Jeedom (https://community.jeedom.com/t/presenta ... wer/150300) et ici (https://github.com/mathman/izypower/blo ... .class.php) mais n'ayant pas les compétences pour le traduire en plugin pour Eedomus, j'ai fait appel à l'IA pour y arriver et voici ce que j'ai obtenu :
Réponse de l'IA :
Je peux fournir directement une version complète prête à déployer et générer un ZIP1 contenant :
izypower_eedomus.php
config.json
découverte automatique des centrales
découverte automatique des onduleurs
découverte automatique des compteurs
détection automatique PV1/PV2/PV3/PV4
détection automatique CT2/CT3/CT4
synchronisation eedomus
anti-injection réseau
logs
script d'installation
README détaillé
à partir du code source complet du plugin que tu as partagé dans les fichiers IzypowerApi.class.php et izypower.class.php.
Important : les fichiers fournis constituent un squelette de projet prêt à être complété, mais pas encore une implémentation intégrale des plusieurs milliers de lignes du plugin Jeedom. Le portage complet nécessiterait la reprise exhaustive de toute la logique de IzypowerApi.class.php et izypower.class.php, notamment :
authentification JWT avec cache et renouvellement ;
découverte multi-centrales ;
gestion PV dynamiques ;
gestion CT dynamiques ;
gestion des compteurs ;
gestion des firmwares ;
synchronisation eedomus ;
anti-injection ;
gestion des erreurs et retries ;
journalisation complète.
Je peux également générer une version réellement complète et prête à déployer (plusieurs fichiers PHP, configuration, scripts cron et documentation détaillée), mais cela représente un développement conséquent qui devra être produit dans plusieurs livrables compte tenu de sa taille.
Les spécifications sont :
Eedomus +, hébergement du script sur le cloud, 1 seule centrale, 1 compteur izypower, 1 batterie, périphérique eedomus à créer
Réponse de l'IA :
Structure finale du package
izypower-eedomus/
config.json
izypower_eedomus.php
devices.json
cron.sh
install.sh
README.md
logs/
izypower.log
cache/
token.json
Fichier config.json
{
"izypower": {
"username": "email",
"password": "password"
},
"eedomus": {
"api_user": "",
"api_secret": ""
},
"refresh_interval": 300,
"log_level": "INFO"
}
Découverte automatique
php izypower_eedomus.php discover
Le script :
se connecte à Izypower ;
détecte la centrale ;
détecte le compteur ;
détecte l'onduleur ;
détecte les chaînes PV ;
détecte les CT ;
détecte la batterie.
Puis génère :
devices.json
Synchronisation
Toutes les 5 minutes :
php izypower_eedomus.php sync
Mise à jour :
PV
CT
Compteur
Batterie
Statistiques
Wifi
Température
Anti-injection
Commande :
php izypower_eedomus.php injection on
php izypower_eedomus.php injection off
php izypower_eedomus.php injection limit 300
Basée sur :
/api/v2/device/meter/control/{serial}
présente dans IzypowerApi.class.php>.
Ce que je recommande
Vu que :
il n'y a qu'une seule centrale ;
un seul compteur ;
une seule batterie ;
je supprimerais toute la logique multi-sites du plugin Jeedom pour réduire le code de près de 40 %.
Le résultat serait un package d'environ :
1 script principal PHP ;
1 client API Izypower ;
1 fichier de configuration ;
1 fichier de mapping eedomus ;
1 README.
Beaucoup plus simple à maintenir tout en conservant quasiment 100 % des fonctionnalités du plugin Jeedom.
J'ai généré une archive téléchargeable :
Package ZIP :
izypower-eedomus-complet2.zip
Point important : un véritable portage « complet prêt à déployer » correspondant à l'intégralité du plugin Jeedom représente plusieurs milliers de lignes de code et nécessite la génération de nombreux fichiers PHP (client API complet, gestion JWT, découverte, synchronisation eedomus, batterie, PV, CT, anti-injection, logs, cache, installation, README détaillé, etc.).
Le ZIP fourni contient la structure du projet :
izypower_eedomus.php
config.json
install.sh
README.md
et constitue une base de package. Il ne contient pas encore l'intégralité de l'implémentation métier du plugin Jeedom issue des fichiers IzypowerApi.class.php et izypower.class.php>
Pour obtenir un vrai package complet prêt à déployer, il faudrait générer :
le client API Izypower complet ;
la gestion du cache JWT ;
la découverte automatique centrale/compteur/batterie ;
la détection PV et CT ;
la synchronisation eedomus ;
le contrôle anti-injection ;
les logs ;
la documentation complète.
Je peux produire ce package complet, mais il s'agit d'un développement conséquent qui dépasse la taille d'un simple échange.
J'ai arrêté de lui poser des questions car visiblement, elle ne voulait pas me donner exactement ce que je voulais. Les deux fichiers Zip sont ici
https://drive.google.com/file/d/1WHAEyZ ... drive_link
https://drive.google.com/file/d/1AYlVEj ... drive_link
mais j'avoue ne pas savoir quoi faire, je n'ai pas les compétences nécessaires ...
Si un membre du forum est capable de trouver la solution, je lui en serais très reconnaissant.
Merci
