| Forum eedomus http://forum.eedomus.fr/ |
|
| Izypower http://forum.eedomus.fr/viewtopic.php?f=50&t=13061 |
Page 1 sur 1 |
| Auteur: | Chris59 [ 12 Sep 2026 23:50 ] |
| Sujet du message: | Izypower |
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 |
|
| Auteur: | Fab_Rice [ 13 Sep 2026 05:35 ] |
| Sujet du message: | Re: Izypower |
Bonjour Chris59, Alors après 1h d'échange avec "l'IA" sur ton sujet, ne serait il pas plus simple d'installer un vrai routeur solaire ? Car pour que ton principe d'enclencher le contacteur du chauffe-eau en cas de surproduction fonctionne, il faudrait une "règle" (simplifiée) du style : Si production P.V > puissance chauffe-eau + consommation reste de la maison + marge de fonctionnement -> enclenchement relais Mais à la moindre consommation supérieure de la maison (frigo qui démarre, sèche cheveux ...) il faudrait générer des latences d'hystérésis pour pas que ça "batte la chamade". En fait cela dépend beaucoup de la puissance P.V installée et de celle de ta batterie, disons que si tu as plus 5kW de P.V pas de soucis, mais si tu as moins de 3kW, il faudra affiner le système. |
|
| Auteur: | Chris59 [ 13 Sep 2026 13:41 ] |
| Sujet du message: | Re: Izypower |
Bonjour Fabrice, En fait ce n'est pas mon installation mais celle d'une amie. Perso, j'ai une installation de 4,5 kw et je revend le surplus à EDF (pas sur que ce soit l'opération la plus rentable que j'ai faite mais c'est un autre sujet). Dans le cas ici, c'est une installation de 2kw avec une batterie de 2kwh aussi et un chauffe eau qui se met en marche à 23h, en heures creuses. L'idée est de démarrer le chauffe eau dans la journée, lorsque les panneaux ont rechargé la batterie et que l'on donne de l'électricité gratuitement à EDF. Le smart meter d'Izypower fonctionne très bien, il est connecté aux panneaux et à la batterie en wifi et mesure l'électricité fournie ou donnée à EDF via une pince ampèremètrique sur la phase venant du disjoncteur. Comme tout est piloté via une application sur le téléphone, que le smart meter est connecté sur le réseau de la maison, je pense qu'il doit être possible de récupérer l'information concernant l'électricité fournie à EDF, de transmettre cette information à Eedomus et ensuite de faire une règle pour faire basculer un relais. Si mes connaissances en turbopascal et visualbasic sont encore correctes, je ne connais rien au php et autres langages utilisés pour les interfaces actuelles. Aussi je suis preneur d'un coup de main |
|
| Auteur: | Fab_Rice [ 13 Sep 2026 14:38 ] |
| Sujet du message: | Re: Izypower |
Alors je ne suis pas un "pro" du PHP du tout, mais l'IA gemini me renvoi ceci (si tu arrives à ouvrir ce partage) : https://share.google/aimode/dDAsPwHBszegYLjyz ça c'est pour la partie software et ce n'est que la base pour tenter de lire les données. Une fois que tu auras pu relever des données et selon ce que ce sera, il faudra tenter d'aller plus loin. Mais côté "hardware", si la production est de 2kW avec une batterie de 2kW et probablement un chauffe-eau de 2kW (minimum), ça me semble beaucoup trop "serré" en marges pour faire quoi que ce soit, mais ce n'est que mon avis. |
|
| Auteur: | Chris59 [ 13 Sep 2026 22:06 ] |
| Sujet du message: | Re: Izypower |
Bonsoir Fab_Rice, J'ai suivi ton lien et fait plein de test avec Gemini, Merci pour la suggestion. Mais je fini par tourner en rond car les scripts ne fonctionnent pas, il y a des erreurs pour récupérer l'adresse du cloud izypower (## ERROR: Querying [https://izypower.cloud] Error 6: Could not resolve host: izypower.cloud ECHEC AUTHENTIFICATIONCould not resolve host: izypower.cloud) Bref, je creuse une autre voie. Puisque l'on peut importer un script php dans eedomus via http://[IP_DE_VOTRE_EEDOMUS]/script/ et que l'on trouve des scripts écrits pour Jeedom (https://github.com/mathman/izypower/blo ... .class.php) et (https://github.com/mathman/izypower) ces scripts fonctionnent-ils aussi pour Eedomus ? Avant de tout casser, je préfère demander ... |
|
| Auteur: | Chris59 [ 13 Sep 2026 22:58 ] |
| Sujet du message: | Re: Izypower |
Je pense avoir avancé un peu car avec l'aide de Gemini, j'ai traduit, à priori le plugin jeedom pour qu'il soit compréhensible par Eedomus. On peut enregistrer le code suivant dans un fichier Izypower_Eedomus.php puis charger ce code en local dans Eedomus.
Il faut au tout début mettre : son mail son mot de passe son station_ID (je n'ai pas encore trouvé le mien) son numéro de série Il y a encore un peu de travail ... |
|
| Auteur: | lougarou60 [ 14 Sep 2026 13:18 ] |
| Sujet du message: | Re: Izypower |
Bonjour à tous J’avais suivi ce post un peu en diagonale puisque pas concerné, et je suis tombé par hasard sur cette annonce du BonCoin ( je renvoie souvent vers le BonCoin mais promis juré j’ai pas de commission ! ) Peut être un bout de solution ou source d’inspiration https://www.leboncoin.fr/ad/bricolage/3163759900 |
|
| Auteur: | Chris59 [ 16 Sep 2026 05:56 ] |
| Sujet du message: | Re: Izypower |
Bonjour loup-garou, Merci de ta suggestion. Si je n'avais pas déjà un système pour mesurer les flux de courant, j'aurais certainement été intéressé. Mais ce serait dommage de ne pas arriver à utiliser le Smart meter d'izypower, sachant que ce produit à l'air d'être populaire au vu des messages sur les autres forums. https://community.jeedom.com/t/plugin-izypower/147792 Je ne peux pas y travailler tous les jours mais je vais continuer de creuser. |
|
| Auteur: | Chris59 [ 17 Sep 2026 13:38 ] |
| Sujet du message: | Re: Izypower |
Bonjour à tous, Je continue mes recherches et j'ai vu qu'Izypower a été intégré dans Home Assistant https://github.com/StefanPlizga/izypower_cloud" mais je ne connais pas l'éco système de Home ASSISTANT; |
|
| Auteur: | Fab_Rice [ 17 Sep 2026 17:48 ] |
| Sujet du message: | Re: Izypower |
C'est tout en language python ... |
|
| Auteur: | Chris59 [ 18 Sep 2026 23:34 ] |
| Sujet du message: | Re: Izypower |
Bonsoir à tous, Je continue mon exploration du php, des scripts et capteurs http Première chose, j'ai récupéré l'ip de la batterie (192.168.1.147), il semble que ce soit son contrôleur qui centralise toutes les informations. A force de fouiller, j'ai découvert la notion des registres Indevolt et j'ai fini par trouver que dans un navigateur, en entrant : http://192.168.1.147:8080/rpc/Indevolt.GetData?config=%7B%22t%22:%5B11016%5D%7D J'obtiens : {"11016":0} http://192.168.1.147:8080/rpc/Indevolt.GetData?config={"t":[11016,1664,1665,6001,1501,1000,1001,1002]} J'obtiens : {"11016":0,"1664":0,"1665":0,"6001":1000,"1501":0} Il semble que : 11016 | W | Puissance mesurée par le compteur (Meter Power) 2600 | V | Tension réseau (Grid Voltage) 2612 | Hz | Fréquence réseau (Grid Frequency) 6000 | W | Puissance batterie (Battery Power) 6001 | Enum | État batterie : 1000=Repos, 1001=Charge, 1002=Décharge 6002 | % | État de charge batterie (SOC) 6004 | kWh | Énergie chargée aujourd'hui 6005 | kWh | Énergie déchargée aujourd'hui 6006 | kWh | Énergie totale chargée 6007 | kWh | Énergie totale déchargée 1502 | kWh | Production photovoltaïque du jour 1505 | Wh | Production photovoltaïque cumulée 7120 | Enum | État du compteur : 1000=Actif, 1001=Inactif Si j'entre : http://192.168.1.147:8080/rpc/Indevolt.GetData?config=%7B%22t%22:%5B11016,2600,2612,6000,6001,6002,1502,1505,6004,6005,6006,6007%5D%7D J'obtiens : {"11016":0,"2600":235.10,"2612":49.98,"6000":0,"6001":1000,"6002":20,"1502":0,"1505":0,"6004":0,"6005":0,"6006":4.57,"6007":5.24} A partir de la, j'ai créé un capteur HTTP dans Eedomus et je l'ai défini comme suit: Type de données : liste de valeur URL de la requête : http://192.168.1.147:8080/rpc/Indevolt.GetData?config=%7B%22t%22:%5B11016,2600,2612,6000,6001,6002,1502,1505,6004,6005,6006,6007%5D%7D Chemin XPATH : /11016/2600/2612/6000/6001/6002/1502/1505/6004/6005/6006/6007 Mais ça plante, Eedomus me dit : ERREUR: Expression xpath invalide Bon, à suivre (je suis preneur de vos conseils) |
|
| Auteur: | opa95 [ 19 Sep 2026 09:39 ] |
| Sujet du message: | Re: Izypower |
Bonjour Chris
Le XPATH ne fonctionne pas XPATH n'aime pas les étiquettes numériques {"11016":0,"2600":235.10,"2612":49.98,"6000":0,"6001":1000,"6002":20,"1502":0,"1505":0,"6004":0,"6005":0,"6006":4.57,"6007":5.24} si tu remplaces
{"11016x":0,"2600x":235.10,"2612x":49.98,"6000x":0,"6001x":1000,"6002x":20,"1502x":0,"1505x":0,"6004x":0,"6005x":0,"6006x":4.57,"6007x":5.24} et la transformation json XML donne
|
|
| Auteur: | opa95 [ 19 Sep 2026 09:56 ] |
| Sujet du message: | Re: Izypower |
Bonjour Cris J'ai été trop vite, en fait il faut commencer par une lettre et non pas finir par une lettre
on peut transformer
qui donne
puis XPATH -> //x2600 ou XPATH ->
|
|
| Auteur: | Chris59 [ 19 Sep 2026 22:25 ] |
| Sujet du message: | Re: Izypower |
Bonsoir opa95, Je suis désolé mais je n'ai pas tout compris. Dois-je mettre dans l'URL de la requête :
Ou dois-je faire un script (izypower_Eedomus.php) et appeler ce script avec l'URL de la requête en y mettant :
Quel serait le code de ce script ? Que dois-je mettre dans XPATH ? Désolé si c'est peut-être un peu scolaire mais je ne suis pas familier des capteurs http. Merci |
|
| Auteur: | Chris59 [ 19 Sep 2026 23:33 ] |
| Sujet du message: | Re: Izypower |
Bon avec l'aide de copilot et en m'inspirant de tout ce que vous m'avez conseillé, je pense être arrivé à quelque chose. J'ai créé le script indevolt.php dont voici le code :
Puis j'ai chargé le script dans l'Eedomus. Ensuite dans le capteur Http, j'ai indiqué : URL de la requête : http://localhost/script/?exec=indevolt.php Chemin XPATH : //key_6002 Si je clique sur Tester, la page de test s'ouvre, je clique à nouveau sur tester et le Résultat XPath : donne 20. J'ai mis la fréquence de rafraîchissement du capteur à 1 min et celui-ci affiche 20 Il ne me reste plus qu'à créer autant de capteur, que de valeur à récupérer et à trouver le moyen de savoir à quel moment il y a un excédent et que de l'électricité part gratuitement vers EDF. Merci à tous |
|
| Auteur: | opa95 [ 20 Sep 2026 09:11 ] |
| Sujet du message: | Re: Izypower |
Bonjour Chris Si tu veux rendre tes devices plus lisibles, tu pourrais remplacer les codes par des noms Les codes et noms incluent un double guillemet
Il n'est plus nécessaire de rajouter les prefixes Key_. Les XPATH seront donc //Grid_Voltage, etc.
|
|
| Auteur: | Chris59 [ 20 Sep 2026 18:06 ] |
| Sujet du message: | Re: Izypower |
Merci opa95 pour ta suggestion. Je l'appliquerai quand j'aurai trouvé tous les numéros de registre car pour le moment je cherche encore celui qui indique le moment où on bascule d'un état où on importe du courant d'EDF à un état où on ne le fait plus. Merci |
|
| Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
|
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |
|