Presentation divervince 77320

bonjour a tous, cela fait un moment que je me suis inscrit sur le forum jeedom, mais je n’avais pas encore pris le temps de me présenter
je m’appelle Vincent, 35 ans, je travail dans la logistique, et nous sommes en train de rénover notre maison avec ma compagne dans le 77 (proche coulommiers) que nous avons acheté en 2019.

j’ai toujours aimé l’électronique et l’informatique (bien que grand novice) et je voulais pouvoir apporter des fonctionnalités supplémentaires dans la gestion de la maison (gestion des luminaires en fonction de l’heure, coupure générale, retour d’info sur l’utilisation, gestion des températures, alarme maison mais aussi eau, gestion de la production PV + Groupe secours, …) en gros de la domotique… mais ici vous devez tous être plus calé que moi sur le sujet…

étant donné qu’il s’agit d’une rénovation lourde, (et Mme étant très réfractaire au sans fil, c’est à peine si j’ai le droit de laisser le wifi la journée) j’ai choisi une solution à base d’IPX 800 (coté filaire) et de jeedom (à bon, on est ici avec la communauté jeedom… :laughing:) que j’ai installé pour l’instant sur mon NAS Synology (RS818+ que j’ai put avoir à [tres] bon prix, bien qu’il soit surdimensionné pour mon usage actuel)

niveau connexion internet, étant dans un petit hameau, bien entendu pas de fibre, ni d’ADSL, donc une box 4g de chez Bouygues avec data illimité (deja testé SFR et FREE mais moins bonne qualité de réseau ici) avec des débit bien suffisant pour ce que nous en faisons (entre 50 et 60Mo en descendant et 20 et 40 en montant avec un ping assez mauvais de 30ms environ)
j’ai également fait l’acquisition d’une seconde box (Huawei B525s-23a) dans laquelle j’ai mis une SIM free 2€ pour les SMS (et désactivé la data ca peut vite couter chère de l’oublier…) n’ayant pas réussi a faire de l’envoie de SMS sans (BT et les autres opérateurs bloquent l’envoie de SMS depuis l’offre box 4g+ ce qui est une aberration par la même occasion… )

pour l’instant, je suis en phase de test (je me suis fait un petit banc sur mon bureau) pour apprendre a utiliser la matériel et a comprendre la logique de programmation propre à chaque matériel.

faire fonctionner seul l’ipx est un jeu d’enfant (la preuve j’y arrive tres bien) par contre actuellement je bloque sur la surcouche JEEDOM pour remonter les info et pouvoir interagir avec… mais je ne désespère pas

ajout de panneaux solaire avec 3 onduleur hybride 5kva (wks) + 4 batteries pylontech => ok
interface wks/jeedom pour suivi et contrôle.=> ok
terminer l’installation électrique => en cours

étapes ou j’en suis dans mon installation:
I) installation dans son ensemble

  • définition des besoins => en cours (merci Mme qui ne sait pas ce qu’elle veut) mais max filaire

  • choix de la solution de base => validé = JEEDOM (pack ultimate) sur le NAS (vu qu’impossible d’obtenir une box pro en format din) qui de toute façon est allumé H24 pour les caméra et le partage de fichier

  • choix des périphériques filaires => validé IPX 800 V4 + ECO RT2 (avec X24D, X4FP, X-010V, X-Dimmer, X-PMW, X-DMX + compteur(s) eau et électricité + XTHL + X display) j’ai pas put commandé un module de 8 relais supplémentaire mais visiblement il se commande comme l’IPX de base donc ca ne devrait pas poser pb pour l’apprentissage…

II) installation concernant l’IPX

  • branchement de l’ipx et le retrouver sur le réseau => ok [non sans mal vu que je suis en 192.168.2… et que lui était en 192.168.1.250… mais au bout de 2H (voir plus) j’ai trouvé un moyen de lui changer son adresse… et de pouvoir y accéder sur le réseau… ]

  • branchement du X display et du X thl => ok [pas de pb particulier] et WAF validé de l’utilisation du X display

  • mise en relation entrée virtuelle (x display) avec relais et paramétrage des écrans du x display => ok [ super facile a faire]

  • câblage et programmation d’un compteur a impulsion (électrique) => ok [juste un pb initiale car j’avais 2 scènes qui utilisait l’entrée 1 de l’IPX ce qui m’éteignait le relais 1 sur lequel j’avais paramétré le X display, après un petit nettoyage des scènes par défaut, ca fonctionne…

III) installation concernant JEEDOM

  • installation sur le Synology RS818+ via docker => ok (merci au tuto trouvé ici)

  • création des objets => ok

  • plugin calendrier (gestion des poubelles pour l’instant) => ok

  • plugin Mail => PB => il semblerai que Gmail rejette les requêtes à chaque changement d’IP publique mais quand on valide la nouvelle connexion ca fonctionne (1 a 5 jours)

  • plugin Huawei => ok pour les 2 box et possibilité d’envoie des SMS manuellement dans le plugin

  • dialogue entre jeedom et IPX 800 => ok (enfin après 4 jours a avoir cherché qu’il suffisait de sélectionner le mode debug…)

  • envoie de SMS automatique => c’est bon ca fonctionne

  • Création de commande simple => en cours

  • Création de commande complexe => en cours

voila j’essayerai de tenir à jour mon parcours si vous avez des questions ou des suggestions, ne pas hésiter.

Vincent

3 « J'aime »

Salut @divervince,

Bienvenue ! J’ai moi aussi fait une rénovation lourde dans le 77 il y a quelques temps (petite commune proche Fontainebleau…).

J’ai opté pour du Z-wave en base et un peu de RFXcom pour les vieux équipements de la maison qui étaient déjà présents (SOMFY surtout).

J’ai un Syno, mais je ne l’utilise pas pour Jeedom que j’ai préféré séparer sur un petit RPI dans le tableau élec.

Par contre j’utilise le service de DDNS de synology (gratuit, adresse en “xxxxxxx.synology.me”) et qui check le renouvellement d’IP publique de la box.
De cette façon, j’ai toujours la même adresse “.me” que j’utilise avec des règles NAT pour rediriger vers ce que je veux…

Pour l’Internet, regarde dans le 77 nous sommes dans un RIP (Reseau d’Intitiative Publique), c’est la société Covage qui déploie la fibre et franchement, pour l’avoir depuis quelques mois, c’est le jour et la nuit…
Les communes sont raccordées petit à petit, moi je les avais appelé en direct pour connaître la disponibilité.

bonjour, merci pour ton message @alexcrp, dsl de ne pas avoir répondu avant je n’avais pas vu la notification.

merci pour l’astuce du DDNS de synology (mais je ne suis pas encore a communiquer avec l’extérieur loin de là)

pour ce qui est de la fibre via le RIP de covage, je suis au courant, il ont une borne a moins de 500m mais nous ne sommes pas encore éligible (d’après ce qu’ils ont dit d’ici 2025) car nous sommes un petit hameau de moins de 10 logements, et on m’a fait un devis a environ 10/15k€ (+ l’abonnement mensuel pro qui va bien a plus de 150€) si on voulait raccorder la société de ma compagne à la fibre…
autant dire que mis a part le ping de merde que l’on a en 4G+, aucun pb d’internet pour le moment…

par contre en bon débutant que je suis, je galère avec jeedom, 2 jours que j’essaye de trouver un tuto pour faire communiquer l’IPX800 V4 et la doc du plugin est plutôt mal faite…

le bon coté de la chose c’est que ca m’a permis de faire un petit banc de test qui est fonctionnel via l’interface IPX.

je ne désespère pas de pouvoir piloter tout ca via jeedom un jour…

mise a jour du 1er message:

dialogue entre jeedom et IPX 800 => ok (enfin après 4 jours à avoir cherché, il suffisait de sélectionner le mode debug…)

faut dire que c’est quand même pas trop normal que le plugin soit aussi mal documenté…

Le sujet est latent, bcp de changelog et documentations ne sont pas très documentés, Jeedom a fait le paris de s’adresser à un public plutôt averti :slight_smile:

Certains protocoles ont d’ailleurs + le vent en poupe, question de mode…

Heureusement la communauté est active !

Bonjour,

La manière de contribuer si on trouve que la documentation n’est pas assez explicite est documentée elle aussi :wink: :
Documentation Jeedom

1 « J'aime »

Merci @Salvialf, ca fait quelques semaines que ça me chatouille en effet :slight_smile:

Dès que je peux promis j’apporte ma pierre !

1 « J'aime »

Salut divervince,
Super choix de lier jeedom et ipx800.
Moi aussi jai un ipx et tout fonctionne au top.
Tu verras avec le temps tu vas plein d’idée pour jouer avec ces 2 merveilles.

A bientôt

bonjour à tous et merci de vos messages de soutiens…
je suis désolé de ne pas avoir répondu plus tôt, quelques soucis de santé mais rien de grave…

@Salvialf c’est dans ce but que j’ai expliqué ce qui m’avais posé problème… n’ayant que tres peu d’expérience sur jeedom et en domotique en général je ne sais pas trop comment faire remonter ce genre d’exemple (faut dire qu’en tant que débutant on se prend la tete là ou cela peut etre une évidence pour une personne plus avertie)

@mikl43290 oui en effet c’est un pur bonheur de découvrir le mode de fonctionnement des 2 produits qui sont pour moi très complémentaire car comme je disais je veux limiter le sans fil au maximum (et certainement pas pour des éléments de sécurité)

comme promis voici ma petite instalation de test…
en haut un eco rt2 et 2 compteurs non branché
2eme niveau l’ipx 800 et une x24d
3eme niveau le compteur de l’ensemble de la plaque + 1 inter 16A pour pouvoir travailler sur le 220 et la BT sans soucis (repris sur un disjoncteur dans le tableau) l’alimentation 12v puis un x4fp + x010v + x dimmer + x-pwm + x dmx

a l’horizontal, une ampoule dimable en 220 (relié au X dimmer
Sous les plateaux de Disque dur une prise 220v puis un interupteur poussoir et enfin un intérupteur simple
sur la 3eme ligne, un X display (intérupteur + afficheur super pratique) et un capteur Hydrométrie, luminosité et température (normalement pour l’extérieur) et enfin un petit bout de ruban led RGB relié au x PMW
(je ne parle pas du bordel qui traine dessus (arduino + led adressable + la scannette qui sont en cours de réflexion pour un projet mais j’en parlerai plus en détail plus tard si j’y arrive mais pas certain que je puisse l’intégrer a jeedom (gestion de stock)

sinon pour les prochains essaies, j’ai pour projet de mettre des panneaux photovoltaique, donc je vais me renseigner sur ce qu’il est possible d’avoir comme matériel compatible jeedom (pour info installation en triphasé)

le projet avance encore… ces dernières semaines j’ai fait l’installation de panneaux photovoltaïques et de 4 batteries pylontech avec 3 onduleur WKS 5kva branché en triphasé

actuellement je suis en phase de réflexion sur l’interface WKS/jeedom, je pense partir sur un Arduino avec contrôleur série et un module Ethernet (sinon je me retournerai vers la solution via wifi si vraiment j’y arrive pas)

matériel commandé sur Amazon (pour livraison demain)
arduino méga (visiblement permet de mettre les 3 onduleurs car 4 liaisons « série » possible) => 13.99
ANGEEK 3Pièces RS232 to TTL Serial Port Converter Module Connector MAX3232 Serial Module => 7.43

AZDelivery W5100 Ethernet d’extension Shield Internet compatible avec Arduino y compris un eBook => 9.99

sources :

j’ai également transféré l’ipx dans le local technique et mis en route pour piloter la lumière du couloir en blanc / rouge en fonction de l’heure (demande de Mme)

Bon, avec les travaux dans la maison j’avais pas eu le temps de me lancer dans la gestion des onduleurs plus tôt, mais avant toute chose, je suis grand novice autant dans jeedom qu’avec la programmation, mais rien n’est impossible, si j’y arrive, tout le monde peut… (ok j’y ai passé presque 1 semaine complète tellement je suis mauvais…)

pour rappel, mes contraintes:
=> 3 onduleurs wks evo 5kva car triphasé
=> volonté de pouvoir jouer sur la/les sources externes d’alimentation
=> bat pylontech
=> 2 parcs solaires

ce que je veux faire:
=>Pouvoir surveiller l’état de la batterie = ok
=>Pouvoir surveiller l’état de la production = ok
=>Pouvoir surveiller l’état de la consommation = ok
=> déclencher la charge des bat par l’utilitaire choisi en fonction de paramètre externe (HP/HC, Groupe électrogène, temps à J / J+1…)=> en cours
=> déclencher le chauffe eau en cas de surproduction => en cours

matériels utilisés (en plus de l’installation de base)
=> Cartes compatibles Mega 2560 R3 :


=> Carte ethernet à base de W5100:

=> 3 RS323 vers TTL
image
=> 3 cables RJ45 (moi j’ai utilisé les câbles SERIAL, fournis avec les onduleurs)
image
=> 1 alimentation pour arduino
=> 1 cable réseau

du fait de d’avoir 3 onduleurs (triphasé) j’ai choisi un clone de MEGA 2560 car il dispose de 4 ports « sérial » je pense qu’il doit être possible de partir sur 1 uno avec 1 seul convertisseur de signal avec une répartition logiciel, mais ca dépasse de loin mes compétences de programmation.

Le fait d’avoir choisi un protocole Ethernet et non wifi vient du fait que mon local technique est blindé et que le wifi ne passe pas mais que je dispose de ma baie informatique et que je ne veux pas faire de frais à rajouter des répétiteur/box de signal wifi.

j’ai volontairement choisi de souder en définitif les différents éléments par paranoïa car j’ai toujours peur qu’une connexion se barre… (faut dire que prendre du fil rigide n’est pas non plus une bonne idée, j’ai eu plein de casse de fil lors des test, et que tenter de faire des soudures sur la carte avec un fer de 100w 1er prix est aussi utile que prendre un 33T pour aller chercher sa baguette… ca doit fonctionner mais c’est pas donné à tout le monde…)

les onduleurs WKS EVO (et visiblement consort génériquement appelé PIP):
les onduleurs WKS Evo ont la particularité d’avoir une interfacabilité de merde (faut dire que pour le prix) et à ce que j’ai compris un mode de fonctionnement pas ou peu « WAF » nativement: il est possible de faire plein de paramétrages, mais une fois que c’est fait, c’est difficile de faire des changements à la volé (encore plus quand on a 3 onduleurs).

l’onduleur puise constamment dans la batterie , donc celle ci doit être suffisante pour fonctionner H24.
il est possible de charger via les PV et/ou via un utilitaire (ERDF ou groupe ou …)
il existe donc plusieurs paramètre SBU, SUB, USB, UCb , UdC(S= solaire, U = utilitaire, B = Batterie) pour l’ordre de priorité, perso j’ai choisi SBU UCb. (L’énergie solaire fournit la puissance aux charges en tant que première priorité. Si l’énergie solaire n’est pas suffisante pour alimenter toutes les charges connectées, l’énergie de la batterie alimentera les charges en même temps. Le service public fournit de l’énergie aux charges uniquement lorsque la tension de la batterie chute à un niveau bas la tension d’avertissement ou le point de réglage du programme 12 ou le solaire et la batterie ne sont pas suffisants.et autorise à l’utilitaire de charger la batterie)
SBU UdC => extinction en cas de bat faible (arrivé 2 fois au début) bien que paramètre conseillé par le vendeur lors de la mise en place.:face_with_symbols_over_mouth:
SUB UdC => pas d’intérêt d’avoir un gros parc batterie (sauf en cas d’absence de S et U) et une consommation S ou U en tout ou rien => si S < consommation, S = 0% et U = 100% avec un risque d’avoir une coupure en cas de bat faible car uniquement rechargé par le S :roll_eyes:
SUB UCb => fonctionne comme un ASI classique mais avec une possibilité de solaire dans certain cas…:roll_eyes:
USB UdC => ASI avec possibilité de non charge !!! :unamused:
USB UCb => ASI solaire qui n’utilise pas le solaire?? :roll_eyes:

sachant qu’il n’y a pas de possibilité de mettre plusieurs choix en fonction de l’heure par ex, la solution de base SBU UCb fixe que je consomme en priorité sur le solaire ET les batterie, (donc normalement pas de U bien que souvent je me retrouve quand meme avec une consommation U avec de la B restante… :thinking:) mais que si la B est basse, alors l’U la charge, mais quelque soit l’heure de jour ou de la nuit… je me trouve donc a charger la batterie en journée (en HP) et la décharger en HC… c’est quand même un comble…
je domotise donc manuellement (oui je sais c’est volontaire de dire une absurdité) en ayant une alerte SMS quand la B est Faible en journée pour appuyer sur l’interrupteur tétrapolaire dans le local technique qui relie le réseau aux onduleurs… et en mettant tout les soirs l’utilitaire en route…(enfin quand j’oublie pas ce qui provoque au mieux une conso en journée, au pire une extinction du réseau…
Pour Palier a ce désagrément, je vais acheter un contacteur de puissance tétrapolaire (avec bobine en 230v) car il y a un contact sec (3A / 250VAC) sur le panneau arrière qui sera certainement utilisé pour fournir un signal au contacteur de puissance lorsque la tension de la batterie atteint le niveau d’alerte (redondance/perte domotique) en plus de l’utilisation d’un relais de l’IPX sur le contacteur (à voir en fonction des possibilité)

schéma de câblage
(à venir)


rien de compliqué:
=> on relie les 2 cartes en faisant attention à ce que les broches correspondent
=> on relie les 3 GND au GND de la carte,
=> on relie les 3 Ucc au +5V de la carte
=> on relie les TX et RX
=> on relie les cables série aux broches
image (attention c’est la vue de face du connecteur, avec le fil derrière (comment ca j’y ai passé 2 jours à comprendre ca… quand je vous dis que je suis un boulet…) donc sur ma carte, en haut à gauche, c’est le 6 et pas le 1!!!

programme arduino:
il n’est pas optimisé mais il à la mérite de fonctionner:

// liste des bibliothèques nécessaires:
#include <SPI.h>
#include <Ethernet.h> 
String QPIGS = "\x51\x50\x49\x47\x53\xB7\xA9\x0D"; //Lecture live data

//définitions des variables, possible de mettre ce qu'on veut en texte, ici PIP1 (pour onduleur 1) puis le nom anglais de la variable, mais A1,A2 fonctionnerai tout aussi bien, ce qui compte c'est de savoir ce que ca veut dire pour vous.
float PIP1_Grid_Voltage=0;
float PIP1_Grid_frequence=0;
float PIP1_output_Voltage=0;
float PIP1_output_frequence=0;
int PIP1_output_apparent_power=0;
int PIP1_output_active_power=0;
int PIP1_output_load_percent=0;
int PIP1_BUS_voltage=0;
float PIP1_Battery_voltage=0;
float PIP1_battery_charge_current=0;
float PIP1_battery_capacity=0;
float PIP1_Inverter_heat_sink_temperature =0;
float PIP1_PV_current=0;
float PIP1_PV_voltage=0;
float PIP1_Battery_voltage_from_SCC =0;
float PIP1_battery_discharge_current=0;
int PIP1_status;
float PIP2_Grid_Voltage=0;
float PIP2_Grid_frequence=0;
float PIP2_output_Voltage=0;
float PIP2_output_frequence=0;
int PIP2_output_apparent_power=0;
int PIP2_output_active_power=0;
int PIP2_output_load_percent=0;
int PIP2_BUS_voltage=0;
float PIP2_Battery_voltage=0;
float PIP2_battery_charge_current=0;
float PIP2_battery_capacity=0;
float PIP2_Inverter_heat_sink_temperature =0;
float PIP2_PV_current=0;
float PIP2_PV_voltage=0;
float PIP2_Battery_voltage_from_SCC =0;
float PIP2_battery_discharge_current=0;
int PIP2_status;
float PIP3_Grid_Voltage=0;
float PIP3_Grid_frequence=0;
float PIP3_output_Voltage=0;
float PIP3_output_frequence=0;
int PIP3_output_apparent_power=0;
int PIP3_output_active_power=0;
int PIP3_output_load_percent=0;
int PIP3_BUS_voltage=0;
float PIP3_Battery_voltage=0;
float PIP3_battery_charge_current=0;
float PIP3_battery_capacity=0;
float PIP3_Inverter_heat_sink_temperature =0;
float PIP3_PV_current=0;
float PIP3_PV_voltage=0;
float PIP3_Battery_voltage_from_SCC =0;
float PIP3_battery_discharge_current=0;
int PIP3_status;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // donner une MAC qui n'est pas dans votre réseau
IPAddress ip(192, 168, x, xxx); // taper une adresse ip qui soit libre et hors du DHCP de votre routeur
EthernetServer server(80); // le port 80 par défaut pour le HTTP):



void setup() {
  Serial1.begin(2400); // pour branchement de l'onduleur 1 sur les broches 19 et 18
  Serial2.begin(2400);  // pour branchement de l'onduleur 2 sur les broches 17 et 16
  Serial3.begin(2400); // pour branchement de l'onduleur 3 sur les broches 15 et 14
  Serial.print("server is at "); // pour connexion en USB uniquement pour vérifier le fonctionnement.
  Serial.println(Ethernet.localIP());
    
  Ethernet.begin(mac, ip);
  server.begin();// ouverture du serveur
 }
void loop() {
  //verificaition si un client est connecté (si vous avez appelez la page internet ou si votre jeedom lance la requete)
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
       if (c == '\n' && currentLineIsBlank) {
     
//interrogation des onduleurs en cas de connexion:
Serial1.print(QPIGS);   //interrogation onduleur 1
Serial1.flush(); // attente que l'envoie soit terminé
     if (Serial1.find("(")) { // si réception d'un message, mise dans les valeurs en fonction des varialbles défini en 1er partie
        PIP1_Grid_Voltage=Serial1.parseFloat();
        PIP1_Grid_frequence=Serial1.parseFloat();
        PIP1_output_Voltage=Serial1.parseFloat();
        PIP1_output_frequence=Serial1.parseFloat();
        PIP1_output_apparent_power=Serial1.parseInt();
        PIP1_output_active_power=Serial1.parseInt();
        PIP1_output_load_percent=Serial1.parseInt();
        PIP1_BUS_voltage=Serial1.parseFloat();
        PIP1_Battery_voltage=Serial1.parseFloat();
        PIP1_battery_charge_current=Serial1.parseFloat();
        PIP1_battery_capacity=Serial1.parseInt();
        PIP1_Inverter_heat_sink_temperature =Serial1.parseInt();
        PIP1_PV_current=Serial1.parseFloat();
        PIP1_PV_voltage=Serial1.parseFloat();
        PIP1_Battery_voltage_from_SCC =Serial1.parseFloat();
        PIP1_battery_discharge_current=Serial1.parseFloat();
        PIP1_status=Serial1.parseInt();
     }
     
Serial2.print(QPIGS);   //interrogation onduleur 2
Serial2.flush();
     if (Serial2.find("(")) {
        PIP2_Grid_Voltage=Serial2.parseFloat();
        PIP2_Grid_frequence=Serial2.parseFloat();
        PIP2_output_Voltage=Serial2.parseFloat();
        PIP2_output_frequence=Serial2.parseFloat();
        PIP2_output_apparent_power=Serial2.parseInt();
        PIP2_output_active_power=Serial2.parseInt();
        PIP2_output_load_percent=Serial2.parseInt();
        PIP2_BUS_voltage=Serial2.parseFloat();
        PIP2_Battery_voltage=Serial2.parseFloat();
        PIP2_battery_charge_current=Serial2.parseFloat();
        PIP2_battery_capacity=Serial2.parseInt();
        PIP2_Inverter_heat_sink_temperature =Serial2.parseInt();
        PIP2_PV_current=Serial2.parseFloat();
        PIP2_PV_voltage=Serial2.parseFloat();
        PIP2_Battery_voltage_from_SCC =Serial2.parseFloat();
        PIP2_battery_discharge_current=Serial2.parseFloat();
        PIP2_status=Serial2.parseInt();
     }

Serial3.print(QPIGS);   //interrogation onduleur 3
Serial3.flush();
     if (Serial3.find("(")) {
        Serial.println("DATA-3eme onduleur-------"); 
        
        PIP3_Grid_Voltage=Serial3.parseFloat();
        PIP3_Grid_frequence=Serial3.parseFloat();
        PIP3_output_Voltage=Serial3.parseFloat();
        PIP3_output_frequence=Serial3.parseFloat();
        PIP3_output_apparent_power=Serial3.parseInt();
        PIP3_output_active_power=Serial3.parseInt();
        PIP3_output_load_percent=Serial3.parseInt();
        PIP3_BUS_voltage=Serial3.parseFloat();
        PIP3_Battery_voltage=Serial3.parseFloat();
        PIP3_battery_charge_current=Serial3.parseFloat();
        PIP3_battery_capacity=Serial3.parseInt();
        PIP3_Inverter_heat_sink_temperature =Serial3.parseInt();
        PIP3_PV_current=Serial3.parseFloat();
        PIP3_PV_voltage=Serial3.parseFloat();
        PIP3_Battery_voltage_from_SCC =Serial3.parseFloat();
        PIP3_battery_discharge_current=Serial3.parseFloat();
        PIP3_status=Serial3.parseInt();
        }
 

          // pour affichage dans la page HTML:
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // permet de fermer la connexion quand la transmission est terminé
          client.println("Refresh: 50");  // rafraichissement de la page toutes les 50s
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
    // ecriture des valeurs
          client.print("<div class='A1'>");client.print(PIP1_Grid_Voltage);client.println("</div>");
          client.print("<div class='B1'>");client.print(PIP1_Grid_frequence);client.println("</div>");
          client.print("<div class='C1'>");client.print(PIP1_output_Voltage);client.println("</div>");
          client.print("<div class='D1'>");client.print(PIP1_output_apparent_power);client.println("</div>");
          client.print("<div class='E1'>");client.print(PIP1_output_active_power);client.println("</div>");
          client.print("<div class='F1'>");client.print(PIP1_output_load_percent);client.println("</div>");
          client.print("<div class='G1'>");client.print(PIP1_battery_capacity);client.println("</div>");
          client.print("<div class='H1'>");client.print(PIP1_BUS_voltage);client.println("</div>");
          client.print("<div class='I1'>");client.print(PIP1_Battery_voltage);client.println("</div>");
          client.print("<div class='J1'>");client.print(PIP1_battery_charge_current);client.println("</div>");
          client.print("<div class='K1'>");client.print(PIP1_battery_capacity);client.println("</div>");
          client.print("<div class='L1'>");client.print(PIP1_Inverter_heat_sink_temperature);client.println("</div>");
          client.print("<div class='M1'>");client.print(PIP1_PV_current);client.println("</div>");
          client.print("<div class='N1'>");client.print(PIP1_PV_voltage);client.println("</div>");
          client.print("<div class='O1'>");client.print(PIP1_Battery_voltage_from_SCC);client.println("</div>");
          client.print("<div class='P1'>");client.print(PIP1_battery_discharge_current);client.println("</div>");
          client.print("<div class='Q1'>");client.print(PIP1_status);client.println("</div>");
                   
          client.print("<div class='A2'>");client.print(PIP2_Grid_Voltage);client.println("</div>");
          client.print("<div class='B2'>");client.print(PIP2_Grid_frequence);client.println("</div>");
          client.print("<div class='C2'>");client.print(PIP2_output_Voltage);client.println("</div>");
          client.print("<div class='D2'>");client.print(PIP2_output_apparent_power);client.println("</div>");
          client.print("<div class='E2'>");client.print(PIP2_output_active_power);client.println("</div>");
          client.print("<div class='F2'>");client.print(PIP2_output_load_percent);client.println("</div>");
          client.print("<div class='G2'>");client.print(PIP2_battery_capacity);client.println("</div>");
          client.print("<div class='H2'>");client.print(PIP2_BUS_voltage);client.println("</div>");
          client.print("<div class='I2'>");client.print(PIP2_Battery_voltage);client.println("</div>");
          client.print("<div class='J2'>");client.print(PIP2_battery_charge_current);client.println("</div>");
          client.print("<div class='K2'>");client.print(PIP2_battery_capacity);client.println("</div>");
          client.print("<div class='L2'>");client.print(PIP2_Inverter_heat_sink_temperature);client.println("</div>");
          client.print("<div class='M2'>");client.print(PIP2_PV_current);client.println("</div>");
          client.print("<div class='N2'>");client.print(PIP2_PV_voltage);client.println("</div>");
          client.print("<div class='O2'>");client.print(PIP2_Battery_voltage_from_SCC);client.println("</div>");
          client.print("<div class='P2'>");client.print(PIP2_battery_discharge_current);client.println("</div>");
          client.print("<div class='Q2'>");client.print(PIP2_status);client.println("</div>");

          client.print("<div class='A3'>");client.print(PIP3_Grid_Voltage);client.println("</div>");
          client.print("<div class='B3'>");client.print(PIP3_Grid_frequence);client.println("</div>");
          client.print("<div class='C3'>");client.print(PIP3_output_Voltage);client.println("</div>");
          client.print("<div class='D3'>");client.print(PIP3_output_apparent_power);client.println("</div>");
          client.print("<div class='E3'>");client.print(PIP3_output_active_power);client.println("</div>");
          client.print("<div class='F3'>");client.print(PIP3_output_load_percent);client.println("</div>");
          client.print("<div class='G3'>");client.print(PIP3_battery_capacity);client.println("</div>");
          client.print("<div class='H3'>");client.print(PIP3_BUS_voltage);client.println("</div>");
          client.print("<div class='I3'>");client.print(PIP3_Battery_voltage);client.println("</div>");
          client.print("<div class='J3'>");client.print(PIP3_battery_charge_current);client.println("</div>");
          client.print("<div class='K3'>");client.print(PIP3_battery_capacity);client.println("</div>");
          client.print("<div class='L3'>");client.print(PIP3_Inverter_heat_sink_temperature);client.println("</div>");
          client.print("<div class='M3'>");client.print(PIP3_PV_current);client.println("</div>");
          client.print("<div class='N3'>");client.print(PIP3_PV_voltage);client.println("</div>");
          client.print("<div class='O3'>");client.print(PIP3_Battery_voltage_from_SCC);client.println("</div>");
          client.print("<div class='P3'>");client.print(PIP3_battery_discharge_current);client.println("</div>");
          client.print("<div class='Q3'>");client.print(PIP3_status);client.println("</div>");
          
          client.println("</html>");
          break;
        }
        if (c == '\n') {
                   currentLineIsBlank = true;
        } else if (c != '\r') {
                    currentLineIsBlank = false;
        }
      }
    }
      delay(1);
       client.stop();
    Serial.println("client disconnected");
  }
}

pour la partie affichage HTML, j’ai suivi la méthode de @Alex50 en la modifiant:
client.print(« <div class=‹ nom de la classe ›> »);client.print(nom de la variable);client.println(« </div> »);

l’utilisation de <div class=‹ nom de la classe ›> permet faire le lien avec script de jeedom c’est pour cela que mes class sont simple (mais non explicite) pour gagner du temps et éviter les erreurs lors de la création du script

création du script



penser a sauvegarder entre chaque (j’ai eu des pb comme quoi la variable existait deja par moment quand je n’enregistrais pas pour 1 seule ligne)
mettre autant de ligne que vous voulez d’information dans jeedom

/!\ pour la batterie, ne prendre que sur l’onduleur où est branché le cable pyl (quand on est avec des PYL)

création du virtuel
image


j’ai juste mis la production solaire en W (multiplication des valeurs PV voltage par PV ampère )

conclusion:
quand on sait faire c’est simple, si quelqu’un veut l’améliorer je me ferai un plaisir de mettre à jour…
lancez vous, au pire vous y arrivez…

c’est mon dernier message posté, je reste sur le site en lecture seule, vu que quand un utilisateur OSE exprimer son ressenti il va se faire attaquer…