Bienvenue, Visiteur |
Vous devez vous enregistrer avant de pouvoir poster.
|
Utilisateurs en ligne |
Il y a actuellement 439 utilisateurs connectés. » 5 Membre(s) | 432 Visiteur(s) Bing, Google, bernard62, crilien, Lolo69, Sgb31
|
|
|
Ma réalisation d'un routeur solaire f1atb simplifié |
Posté par : DanielJ - 13-06-2024, 11:55 AM - Forum : Routeur Photovoltaïque
- Réponses (2)
|
|
Bonjour à tous,
Grâce à ce site et au travail remarquable d'André qui a la gentillesse de le partager (y compris le code source !!!) pour le profit de tous , j'ai pu réaliser et installer un routeur solaire 'simplifié', fonctionnel et efficace (on voit la différence !) dès sa mise en service.
Simplifié car en effet, dans la mesure où ayant déjà domotisé une grande partie de ma maison, je n'ai eu besoin d'installer matériellement que le cœur du système avec l'ESP32 et un relais SSR pour commander la résistance de mon chauffe-eau.
La partie 'mesure' est assurée en ce qui me concerne par un wattmètre double canal, sous la forme d'un module de tableau Shelly PRO EM-50, qui remonte vers ma domotique Jeedom puis vers le routeur, au format MQTT, les informations de puissance consommée/injectée et le facteur de puissance qui sont les deux paramètres d'entrée nécessaires.
Du coup je n'ai utilisé que ce matériel :
- un coffret électrique (récupération)
- un radiateur (récupération)
- une LED RGB haute visibilité + 2 résistances de 220ohms (récupération)
- une alimentation 5V USB-A (récupération)
- un câble USB-A/USB-C court (1,35€)
- un ESP32 avec son support permettant un échange rapide en cas de panne (6,52€),
- un relais SSR DC/AC 40A (3,60€)
- un peu de câble en 2,5mm², en 1,5mm² (alim), quelques cosses et connecteurs Wago, de la gaine thermo, et un peu de quinquaillerie et de pâte thermique (pour processeur).
La réalisation pratique est très simple pour un bricoleur avec un peu d'outillage, et ne demande que quelques soudures.
Le boitier une fois monté :
L'intérieur :
Gros plans sur le relais et la LED RGB (je n'utilise que les broches correspondantes au rouge et bleu)
La mise à jour par OTA fonctionne très bien, j'ai testé le passage de la v9.01 à la v9.02 sans soucis.
A toutes fins utiles, le radiateur utilisé est largement suffisant et bien dimensionné pour piloter un chauffe-eau de 3kW. Il est tout juste un peu tiède (au plus ~35°c) lors des périodes de chauffe.
Je suggère ces quelques idées d'améliorations (je suis dispo s'il y a besoin de valider par des tests) :
- intégrer au même titre que le Shelly EM, le module Shelly PRO EM-50 (qui est un modèle assez courant je pense), afin d'éviter de devoir passer par le cœur domotique pour relayer ses infos en MQTT vers le routeur.
- intégrer à l'ESP32 en local un petit écran OLED standard (type SH1106 ou 1306 par exemple) pour visualiser quelques informations importantes (ouverture du relais/triac, puissance, etc...).
Merci et encore bravo !!!
|
|
|
Reset compteurs "Energie Active Totale" |
Posté par : GPL - 13-06-2024, 10:10 AM - Forum : Routeur Photovoltaïque
- Réponses (4)
|
|
Bonjour,
Y a t-il un moyen simple de réinitialiser les 3 compteurs "Energie Active Totale" (Wh) mesurés par le JSY ? (je suis en source UxIx2).
Je suis passé à la v3.01 de la bibliothèque esp32 et de la v8.09 à la v9.02 du routeur via OTA (en activant Erase All Flash before Sketch Upload) mais les valeurs ont été conservées.
Cordialement,
|
|
|
Intégration shelly PRO em |
Posté par : Raphael591 - 12-06-2024, 05:49 PM - Forum : Evolutions faites, à faire, dont vous rêvez...
- Réponses (53)
|
|
EDIT 02/07/2024
Des modifications sur la V11 empêche la reprise du fichier des versions précédentes (Reboot).
Fichier Source_ShellyEm.ino modifié pour la V11 ici : https://uploadnow.io/f/PkNvnnT
Bonjour,
Je me suis lancé dans la conception du routeur.
Problème rencontré, je dispose d'un Shelly Pro Em.
Hors la requête HTTP à effectuer est différente d'un shelly EM classique, et la réponse JSON également.
J'ai dû modifier le code source dans le fichier Source_ShellyEm.ino
Voici les modifications effectuées pour un shelly PRO em.
Si cela pouvait être intégré aux prochaines version se serait top.
La requête : http://IP_SHELLY/rpc/shelly.getstatus
Modification du fichier Source_ShellyEm.ino
Déclaration à ajouter pour la récupération
String tmp;
Modification de la requête http :
String url = "/rpc/Shelly.GetStatus";
Modification de la partie commenté Monophasé
Code : //Monophasé
//***************** ADD PERSO : PRO EM ******************
ShEm_dataBrute = "<strong>Monophasé</strong><br>" + Shelly_Data;
tmp=PrefiltreJson("em1:"+ String(Voie),":",Shelly_Data);
//Récupération partie pince sur la voie paramètré
Pw = ValJson("act_power",tmp);
voltage = ValJson("voltage",tmp);
pf = ValJson("pf",tmp);
pf = abs(pf);
if (pf > 1) pf = 1;
if (Voie == voie) { //voie du routeur
if (Pw >= 0) {
PuissanceS_M_inst = Pw;
PuissanceI_M_inst = 0;
if (pf > 0.01) {
PVAS_M_inst = PfloatMax(Pw / pf);
} else {
PVAS_M_inst = 0;
}
PVAI_M_inst = 0;
} else {
PuissanceS_M_inst = 0;
PuissanceI_M_inst = -Pw;
if (pf > 0.01) {
PVAI_M_inst = PfloatMax(-Pw / pf);
} else {
PVAI_M_inst = 0;
}
PVAS_M_inst = 0;
}
tmp=PrefiltreJson("em1data:"+ String(Voie),":",Shelly_Data);
Energie_M_Soutiree = myLongJson("total_act_energy",tmp);
Energie_M_Injectee = myLongJson("total_act_ret_energy",tmp);
PowerFactor_M = pf;
Tension_M = voltage;
Pva_valide=true;
} else { // voie secondaire
if (LissageLong) {
PwMoy2 = 0.2 * Pw + 0.8 * PwMoy2; //Lissage car moins de mesure sur voie secondaire
pfMoy2 = 0.2 * pf + 0.8 * pfMoy2;
Pw = PwMoy2;
pf = pfMoy2;
}
if (Pw >= 0) {
PuissanceS_T_inst = Pw;
PuissanceI_T_inst = 0;
if (pf > 0.01) {
PVAS_T_inst = PfloatMax(Pw / pf);
} else {
PVAS_T_inst = 0;
}
PVAI_T_inst = 0;
} else {
PuissanceS_T_inst = 0;
PuissanceI_T_inst = -Pw;
if (pf > 0.01) {
PVAI_T_inst = PfloatMax(-Pw / pf);
} else {
PVAI_T_inst = 0;
}
PVAS_T_inst = 0;
}
tmp=PrefiltreJson("em1data:"+ String(Voie),":",Shelly_Data);
Energie_T_Soutiree = myLongJson("total_act_energy",tmp);
Energie_T_Injectee = myLongJson("total_act_ret_energy",tmp);
PowerFactor_T = pf;
Tension_T = voltage;
}
NB : Voici le format du JSON
Code : {
"ble": {},
"cloud": {
"connected": true
},
"em1:0": {
"id": 0,
"current": 2.454,
"voltage": 239.9,
"act_power": 226.5,
"aprt_power": 590.1,
"pf": 0.62,
"freq": 50,
"calibration": "factory"
},
"em1:1": {
"id": 1,
"current": 1.782,
"voltage": 239.9,
"act_power": 426.4,
"aprt_power": 429.6,
"pf": 0.99,
"freq": 50,
"calibration": "factory"
},
"em1data:0": {
"id": 0,
"total_act_energy": 995515.84,
"total_act_ret_energy": 106191.28
},
"em1data:1": {
"id": 1,
"total_act_energy": 477522.54,
"total_act_ret_energy": 756.38
},
"eth": {
"ip": null
},
"modbus": {},
"mqtt": {
"connected": false
},
"switch:0": {
"id": 0,
"source": "WS_in",
"output": false,
"temperature": {
"tC": 37,
"tF": 98.6
}
},
"sys": {
"mac": "34987A6XXXXX",
"restart_required": false,
"time": "17:13",
"unixtime": 1718205196,
"uptime": 419677,
"ram_size": 243368,
"ram_free": 117336,
"fs_size": 524288,
"fs_free": 192512,
"cfg_rev": 22,
"kvs_rev": 0,
"schedule_rev": 15,
"webhook_rev": 9,
"available_updates": {},
"reset_reason": 3
},
"wifi": {
"sta_ip": "192.168.1.XX",
"status": "got ip",
"ssid": "Freebox-XXXX",
"rssi": -50
},
"ws": {
"connected": false
}
}
|
|
|
Licence Radioamateur |
Posté par : Alain59 - 12-06-2024, 12:41 PM - Forum : Remote SDR (Fr)
- Réponses (3)
|
|
Bonjour André,
Je suis ingénieur en mécanique, en activité.
J'ai toujours été passionné et curieux des sujets en électricité et électronique. j'ai de bonnes notions.
La diffusion CB sur les ondes a occupé une bonne partie de mon temps dans ma jeunesse.
Passé la soixantaine, j'envisage d'obtenir la licence Radioamateur.
Peux-tu m'indiquer quel serait pour moi le moyen le plus efficace pour me former sur les deux chapitres législation et technique.
Merci pour ton retour.
Cordialement
Alain
|
|
|
MQTT : Valeur Triac/Relai Actif |
Posté par : Nalexdouze - 12-06-2024, 09:47 AM - Forum : Evolutions faites, à faire, dont vous rêvez...
- Réponses (5)
|
|
Bonjour,
Je souhaitais savoir si le triac ou un relai était actif (!=0) au sein de mon Jeedom.
Pour ce faire j'ai :
ajouté au début de la void sendMQTTDiscoveryMsg_global()
et vers la fin
Code : for (int i = 0; i < NbActions; i++) {
ActType = "Ouverture_Relais_" + String(i);
if (i == 0) ActType = "OuvertureTriac";
DeviceToDiscover(ActType, "%", "power_factor", "0"); //Type power factor pour etre accepté par HA
}
est devenu
Code : for (int i = 0; i < NbActions; i++) {
ActType = "Ouverture_Relais_" + String(i);
ActifType = "Actif_Relais_" + String(i);
if (i == 0) {
ActType = "Ouverture_Triac";
ActifType = "Actif_Triac";
}
DeviceToDiscover(ActType, "%", "power_factor", "0"); //Type power factor pour etre accepté par HA
DeviceToDiscover(ActifType, "", "", "0");
}
ajouté au début de la void SendDataToHomeAssistant()
et vers la fin
Code : for (int i = 0; i < NbActions; i++) {
ActType = "Ouverture_Relais_" + String(i);
if (i == 0) ActType = "OuvertureTriac";
int Ouv = 100 - Retard[i];
sprintf(value, "%s,\"%s\":%d", value, ActType.c_str(), Ouv);
if (Ouv > 0) {
sprintf(value, "%s,\"%s\":%d", value, "Actif", 1);
}
else{
sprintf(value, "%s,\"%s\":%d", value, "Actif", 0);
}
}
est devenu
Code : for (int i = 0; i < NbActions; i++) {
ActType = "Ouverture_Relais_" + String(i);
ActifType = "Actif_Relais_" + String(i);
if (i == 0) {
ActType = "Ouverture_Triac";
ActifType = "Actif_Triac";
}
int Ouv = 100 - Retard[i];
sprintf(value, "%s,\"%s\":%d", value, ActType.c_str(), Ouv);
if (Ouv != 0) {
sprintf(value, "%s,\"%s\":%d", value, ActifType.c_str(), 1);
}
else{
sprintf(value, "%s,\"%s\":%d", value, ActifType.c_str(), 0);
}
}
J'ai également changé les 2 OuvertureTriac par Ouverture_Triac c'est un détail pour avoir une cohérence de présentation avec les relais
Cordialement
Alexis
|
|
|
|