Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
Hi Guest this is an announcement for guests !!!

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Récupération infos EW10a, mise en page et transmission MQTT
#1
Bonsoir

Je me lance dans l'aventure nodered pour récupérer les infos de mon onduleur par mon elfin wifi et ensuite renvoyer ces informations via MQTT vers Home Assistant.

J'ai réussi à récupérer toutes les infos de l'onduleur qui m'intéresse à ajouter au flux de smartphoton à savoir la température de l'onduleur et la tension, le voltage et la puissance du deuxième MPTT :

   

que je peux exporter sur une page web :

     

A cet instant je sèche :

1- sur la façon de faire pour que l'interrogation du QPIGS1 (où je récupère la température) et le QPIGS2 (où je récupère les infos du MPPT2) me crée qu'un seul array. 
Pour le moment j'interroge QPIGS1 (je récupère ainsi le path de la température) puis 3 secondes après QPIGS2 qui là me crée un nouvel array qui m'efface le path de la température. 

2- Comment configurer le node MQTT pour qu'il m'envoie les infos à Home Assistant parsées : pour l'instant ca m'arrive en brut

   

Merci
Like Répondre
#2
Bonjour

Est ce que quelqu'un peut m'aiguiller sur la partie topics à créer et comment le faire afin de pouvoir pousser les infos que j'ai récupérées de mon onduleur par le node MQTT OUT vers Home Assistant

Merci
Like Répondre
#3
Coté HA c'est pas dans mes cordes.
Par contre pourrais tu développer via MQTT explorer ce que reçoit ton broker intégré à HA (print screen)
Ça va nous aider à comprendre et les HA guys vont s'en donner à cœur joie
Jean-Luc
Like Répondre
#4
Je reçoit un truc brut comme ca, sans topic dédié à chaque donnée

   

Voici ma configuration du node MQTT OUT

   

   
Like Répondre
#5
Bien si, le topic est décrit en haut à droite. Par exemple celui qui est surligné il se nomme

Onduleur/Inverter-sloar-mode et il a comme valeur true

Tu vas ensuite dans la partie MQTT de HA et tu devrais retrouver tes données pour ensuite pouvoir ensuite faire ce que tu désires avec.
Jean-Luc
Like Répondre
#6
Voici le topic qui est celui que j'ai créé dans nodered en fait :

   
Like Répondre
#7
ah oui là il manque clairement l'analyse préliminaire depuis Nodered pour décortiquer les données. Home Assistant ne saurait que faire de ces valeurs.

peux-tu mettre une copie du noeud debug à la sortie du MQTT pour que je voie de quoi il retourne
Jean-Luc
Like Répondre
#8
Je ne peux pas mettre de debug après le node MQTT OUT, il n'y a pas de point pour relier les deux noeuds
Like Répondre
#9
Okay, j'étais un peu distrait désolé. Je pensais au nœud TCP Out.

Alors l'idée c'est d'envoyer un topic pour chacune des valeurs que tu as décortiquée.

Tu la pousse dans un "change node" , dedans tu créer un msg.topic comme tu le souhaites. Ensuite tu envoies tout cela dans le MQTT out.
Voici un exemple qui pousse la valeur (msg.payload) de la tension photovoltaïque.

   

   

   
Jean-Luc
Like Répondre
#10
Ca avance, merci

   

En fait, on dirait qu'il me manque la partie config: qui je pense doit être renseignée quelque part dans le noeud MQTT OUT 

   
Like Répondre
#11
Bonjour

Bon en fai je suis passé directement par le paramétrage manuel des mqtt_sensors dans la configuration.yml de Home Assistant comme @Jlc71 me l'a proposé et hop..... Merci à lui

   

Belle journée aujourd'hui, d'un côté PV1 de l'autre PV2 et en bas l'addition des deux MPPT en haut à gauche la production totale de la journée et à droite la puissance max de la journée
Like Répondre
#12
Superbe Heart
Jean-Luc
Like Répondre
#13
Si ca t'interesse à un moment je peux te passer les flows nodered à intégrer pour une prochaine version (ou pas  :D )
Like Répondre
#14
C'est avec plaisir que je prends tes flows pour voir comment les intégrer. Il y a plusieurs demandes en ce sens.
Aussi du coté de HA, les YAML je suis preneur.
Merci !

J'aime beaucoup les jauges que tu as installées sur ton tableau de bord. Peux-tu me donner les références des cartes en question ?
Jean-Luc
Like Répondre
#15
Alors pour le QPIGS PV1

Code :
[
    {
        "id": "2ca98cc842fe98dd",
        "type": "tab",
        "label": "QPIGSPV1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "bb2f093350eaec50",
        "type": "inject",
        "z": "2ca98cc842fe98dd",
        "name": "QPIGSPV1",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "37",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 160,
        "wires": [
            [
                "4eb671e9671bf9b7"
            ]
        ]
    },
    {
        "id": "84759e218920555c",
        "type": "function",
        "z": "2ca98cc842fe98dd",
        "name": "TCP Server Adress",
        "func": "msg.host = \"192.168.X.XXX\" ;\nmsg.port = \"7777\" ;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 510,
        "y": 160,
        "wires": [
            [
                "10ebdc89680b12e7",
                "98c06370bef5ef18"
            ]
        ]
    },
    {
        "id": "10ebdc89680b12e7",
        "type": "debug",
        "z": "2ca98cc842fe98dd",
        "name": "msg",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 690,
        "y": 40,
        "wires": []
    },
    {
        "id": "98c06370bef5ef18",
        "type": "tcp request",
        "z": "2ca98cc842fe98dd",
        "name": "Onduleur TCIP",
        "server": "",
        "port": "",
        "out": "time",
        "ret": "string",
        "splitc": "0",
        "newline": "",
        "trim": false,
        "tls": "",
        "x": 720,
        "y": 160,
        "wires": [
            [
                "7be2375c0d87092b",
                "d76a3f354a1061b6"
            ]
        ]
    },
    {
        "id": "7be2375c0d87092b",
        "type": "debug",
        "z": "2ca98cc842fe98dd",
        "name": "Onduleur",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 880,
        "y": 40,
        "wires": []
    },
    {
        "id": "4eb671e9671bf9b7",
        "type": "change",
        "z": "2ca98cc842fe98dd",
        "name": "QPIGS MPPT1",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "[81,80,73,71,83,183,169,13]",
                "tot": "bin"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 300,
        "y": 160,
        "wires": [
            [
                "84759e218920555c"
            ]
        ]
    },
    {
        "id": "dd0269cc9af58291",
        "type": "mqtt out",
        "z": "2ca98cc842fe98dd",
        "name": "MQTT",
        "topic": "",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "efc5bdb3115a929b",
        "x": 1730,
        "y": 40,
        "wires": []
    },
    {
        "id": "d76a3f354a1061b6",
        "type": "change",
        "z": "2ca98cc842fe98dd",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$substringBefore($substringAfter($$.payload, \"(\"),\"��\")",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 940,
        "y": 160,
        "wires": [
            [
                "31c2626a7557ccf8"
            ]
        ]
    },
    {
        "id": "31c2626a7557ccf8",
        "type": "csv",
        "z": "2ca98cc842fe98dd",
        "name": "",
        "sep": " ",
        "hdrin": "",
        "hdrout": "none",
        "multi": "one",
        "ret": "\\n",
        "temp": "Grid-Voltage,Grid-Frequency,AC-Output-Voltage,AC-Output-Frequency,AC-Output-AppPower,AC-Output-ActivPower,Output-Load-Percent,Bus-Voltage,Battery-Voltage,Battery-Charging-Current,Battery-Capacity,Inverter-Temperature,PV1-Input-Current,PV1-Input-Voltage,Battery-Voltage-SOC,Battery-Discharge-Current,p,q,r,PV1-Charging-Power,t,u,v,w",
        "skip": "0",
        "strings": true,
        "include_empty_strings": "",
        "include_null_values": "",
        "x": 1090,
        "y": 160,
        "wires": [
            [
                "33bdcc643ff92f79"
            ]
        ]
    },
    {
        "id": "33bdcc643ff92f79",
        "type": "split",
        "z": "2ca98cc842fe98dd",
        "name": "",
        "splt": "\\n",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "x": 1230,
        "y": 160,
        "wires": [
            [
                "5d7d8b5fa42333b4"
            ]
        ]
    },
    {
        "id": "5d7d8b5fa42333b4",
        "type": "change",
        "z": "2ca98cc842fe98dd",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "\"homeassistant/sensor/ElfinEW10/\" & $$.parts.key",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1380,
        "y": 160,
        "wires": [
            [
                "2917b89b0a387815",
                "dd0269cc9af58291"
            ]
        ]
    },
    {
        "id": "2917b89b0a387815",
        "type": "debug",
        "z": "2ca98cc842fe98dd",
        "name": "mqtt node",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1610,
        "y": 160,
        "wires": []
    },
    {
        "id": "efc5bdb3115a929b",
        "type": "mqtt-broker",
        "name": "XXXXXXXXX",
        "broker": "192.168.X.XXXX",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]

Puis le QPIGS PV2

Code :
[
    {
        "id": "a29a0e1aad8f15cc",
        "type": "tab",
        "label": "QPIGSPV2",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "6317d252fda36dc0",
        "type": "tcp request",
        "z": "a29a0e1aad8f15cc",
        "name": "Onduleur TCIP",
        "server": "",
        "port": "",
        "out": "time",
        "ret": "string",
        "splitc": "0",
        "newline": "",
        "trim": false,
        "tls": "",
        "x": 720,
        "y": 160,
        "wires": [
            [
                "7cb907b69c901a01"
            ]
        ]
    },
    {
        "id": "8ea6404b0fc57451",
        "type": "function",
        "z": "a29a0e1aad8f15cc",
        "name": "TCP Server Adress",
        "func": "msg.host = \"192.168.X.XXX\" ;\nmsg.port = \"7777\" ;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 490,
        "y": 160,
        "wires": [
            [
                "6317d252fda36dc0"
            ]
        ]
    },
    {
        "id": "347e71af1076ee06",
        "type": "change",
        "z": "a29a0e1aad8f15cc",
        "name": "QPIGS MPPT2",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "[81,80,73,71,83,50,104,45,13]",
                "tot": "bin"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 280,
        "y": 160,
        "wires": [
            [
                "8ea6404b0fc57451"
            ]
        ]
    },
    {
        "id": "dc6a06cd516c1b20",
        "type": "inject",
        "z": "a29a0e1aad8f15cc",
        "name": "QPIGSPV2",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "35",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 160,
        "wires": [
            [
                "347e71af1076ee06"
            ]
        ]
    },
    {
        "id": "7cb907b69c901a01",
        "type": "change",
        "z": "a29a0e1aad8f15cc",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$substringBefore($substringAfter($$.payload, \"(\"),\"��\")",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 960,
        "y": 160,
        "wires": [
            [
                "72dd916b368614b9"
            ]
        ]
    },
    {
        "id": "72dd916b368614b9",
        "type": "csv",
        "z": "a29a0e1aad8f15cc",
        "name": "",
        "sep": " ",
        "hdrin": "",
        "hdrout": "none",
        "multi": "one",
        "ret": "\\n",
        "temp": "PV2-Input-Current, PV2-Input-Voltage,PV2-Charging-Power",
        "skip": "0",
        "strings": true,
        "include_empty_strings": "",
        "include_null_values": "",
        "x": 1110,
        "y": 160,
        "wires": [
            [
                "5e3aeabd48ec2d5f"
            ]
        ]
    },
    {
        "id": "5e3aeabd48ec2d5f",
        "type": "split",
        "z": "a29a0e1aad8f15cc",
        "name": "",
        "splt": "\\n",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "x": 1250,
        "y": 160,
        "wires": [
            [
                "98ce508698d9f0bb"
            ]
        ]
    },
    {
        "id": "98ce508698d9f0bb",
        "type": "change",
        "z": "a29a0e1aad8f15cc",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "\"homeassistant/sensor/ElfinEW10/\" & $$.parts.key",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1400,
        "y": 160,
        "wires": [
            [
                "c4b0d4b4ddb136af",
                "d7537940938cd039"
            ]
        ]
    },
    {
        "id": "d7537940938cd039",
        "type": "mqtt out",
        "z": "a29a0e1aad8f15cc",
        "name": "MQTT",
        "topic": "",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "efc5bdb3115a929b",
        "x": 1750,
        "y": 40,
        "wires": []
    },
    {
        "id": "c4b0d4b4ddb136af",
        "type": "debug",
        "z": "a29a0e1aad8f15cc",
        "name": "mqtt node",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1630,
        "y": 160,
        "wires": []
    },
    {
        "id": "efc5bdb3115a929b",
        "type": "mqtt-broker",
        "name": "XXXXX",
        "broker": "192.168.X.XXXX",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]

Dans la config.yml de HA :

Code :
mqtt:
  sensor:
    - name: "Grid-Voltage"
      state_topic: "homeassistant/sensor/ElfinEW10/Grid-Voltage"
      unit_of_measurement: "V"
      device_class: voltage
      #value_template: '{{ payload }}'
     
    - name: "Inverter-Temperature"
      state_topic: "homeassistant/sensor/ElfinEW10/Inverter-Temperature"
      unit_of_measurement: "°C"
      device_class: temperature
      #value_template: '{{ payload }}'
     
    - name: "AC-Output-AppPower"
      state_topic: "homeassistant/sensor/ElfinEW10/AC-Output-AppPower"
      unit_of_measurement: "VA"
      device_class: apparent_power
      #value_template: '{{ payload }}'
     
    - name: "Output-Load-Percent"
      state_topic: "homeassistant/sensor/ElfinEW10/Output-Load-Percent"
      unit_of_measurement: "%"
      device_class: battery
      #value_template: '{{ payload }}'
     
    - name: "PV1-Input-Current"
      state_topic: "homeassistant/sensor/ElfinEW10/PV1-Input-Current"
      unit_of_measurement: "A"
      device_class: current
      #value_template: '{{ payload }}'
     
    - name: "PV2-Input-Current"
      state_topic: "homeassistant/sensor/ElfinEW10/PV2-Input-Current"
      unit_of_measurement: "A"
      device_class: current
      #value_template: '{{ payload }}'
     
    - name: "PV2-Input-Voltage"
      state_topic: "homeassistant/sensor/ElfinEW10/PV2-Input-Voltage"
      unit_of_measurement: "V"
      device_class: voltage
      #value_template: '{{ payload }}'
     
    - name: "PV2-Charging-Power"
      state_topic: "homeassistant/sensor/ElfinEW10/PV2-Charging-Power"
      unit_of_measurement: "W"
      device_class: power
      #value_template: '{{ payload }}'
     

Pour les jauges c'est sur HACS - frontend - flexible horseshoe

https://github.com/AmoebeLabs/flex-horseshoe-card

Pour la jauge qui ajoute PV1+PV2, il faut créer un template sensor :

Code :
template:

  - sensor:
    #################################################
    #####              Onduleur                  ####
    #################################################
   
      - name: "PV Puissance Totale"
        unit_of_measurement: "W"
        device_class: power
        state: >
          {{ [ states('sensor.pv2_charging_power'),
               states('sensor.onduleur_pv_watt') ]
               | map('float') | sum }}
        availability: >
          {{ not 'unavailable' in
             [ states('sensor.pv2_charging_power'),
               states('sensor.onduleur_pv_watt') ] }}
   

pour la puissance cumulée PV1, PV2 et PV totale j'ai créé des utility meter :

Code :
utility_meter:
  energie_jour_pv1:
    source: sensor.consommation_pv1
    cycle: daily
  energie_mois_pv1:
    source: sensor.consommation_pv1
    cycle: monthly
  energie_annuelle_pv1:
    source: sensor.consommation_pv1
    cycle: yearly
  energie_jour_pv2:
    source: sensor.consommation_pv2
    cycle: daily
  energie_mois_pv2:
    source: sensor.consommation_pv2
    cycle: monthly
  energie_annuelle_pv2:
    source: sensor.consommation_pv2
    cycle: yearly
  energie_jour_pvtotal:
    source: sensor.consommation_pv_totale
    cycle: daily
  energie_mois_pvtotal:
    source: sensor.consommation_pv_totale
    cycle: monthly
  energie_annuelle_pvtotal:
    source: sensor.consommation_pv_totale
    cycle: yearly

Les sensor.consommation ont été créés dans :
paramètres - appareils et services - Entrées - Créer une entrée - intégrale Capteur d'intégrale de Reimann

Amuse toi bien
Like Répondre
#16
Alors c'est Top !

J'ai créé une capture d'écran du flow pour le QPIGS2 pour que ceux qui nous lises puissent tenter de comprendre l'idée.

   

Ce qui me "torture" un peu le cerveau c'est que lorsque j'avais fait des essais chez ChrisPV et un peu chez Greg, il semblait que les données n'étaient pas complètement validées-conformes à la réalité.
Est-ce dû au fait que ce ne soit pas les mêmes onduleurs ?! Le tien est plus récent je pense.

Pour moi, c'est évidement pas possible d'avoir du recul vu que je n'ai pas 2 MPPT pour essayer.

J'aimerai bien leur avis sur ton travail ainsi que les valeurs. Vu de l'extérieur, c'est OK en tout cas.

L'intégration dans Home Assistant va nous être fort utile Cool
Jean-Luc
Like Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Récupération Topics BMS Seplos via NodeRed Jeff 13 11,085 04-11-2023, 10:30 AM
Dernier message: Jeff

Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)
[-]
discussions récentes
Wallbox DYI 32 Ampères avec g...
Pour le moment je n'ai pas enc...Marco202 — 10:50 AM
Double MPTT
OK il ne redémarre que le ve...sharaid — 04:41 PM
Voici une toute nouvelle vers...
Salut le monde, J'utilise S...jeanserien — 07:17 PM
Présentation de Martine
Salut tout le monde, je m'appe...Martiney — 12:12 PM
Vous utilisez l'IA pour mieux ...
Salut tout le monde, depuis qu...Martiney — 12:09 PM
Wallbox DYI 32 Ampères avec g...
Bonjour, J'ai des difficultées...Vangelius — 12:40 PM
Impact de la hausse des prix ...
C'est clairVangelius — 12:38 PM
Wisewand IA pour gérer sa prod...
Salut! Je sais pas si vous con...ColeQe — 08:37 AM
Présentation Cole
Salut tout le monde, je m'appe...ColeQe — 08:35 AM
Vous utilisez ChatbotGPT pour ...
Salut, Ça fait genre trois se...Lennys — 04:29 PM
Optimiser un local batterie, ...
Bonjour à tous, Je m'appelle ...Aryann — 10:14 AM

[-]
Rechercher








(Advanced Search)

[-]
Who's Online
There are currently no members online.

[-]
goals
78.3% of the way to our goal of 10,000 posts!
Only 2,169 posts left to go!

[-]
Statistics
» Members: 1,030
» Latest member: Aathivithyah
» Forum threads: 858
» Forum posts: 7,831

Full Statistics

[-]
Latest Threads
Wallbox DYI 32 Ampères avec gestion dyna...
Last Post: Marco202
26-05-2026 10:50 AM
» Replies: 59
» Views: 35977
Double MPTT
Last Post: sharaid
24-05-2026 04:41 PM
» Replies: 31
» Views: 10665
Voici une toute nouvelle version de Smar...
Last Post: jeanserien
21-05-2026 07:17 PM
» Replies: 60
» Views: 12008
Présentation de Martine
Last Post: Martiney
19-05-2026 12:12 PM
» Replies: 0
» Views: 141
Vous utilisez l'IA pour mieux faire du t...
Last Post: Martiney
19-05-2026 12:09 PM
» Replies: 0
» Views: 147
Impact de la hausse des prix du kWh aux ...
Last Post: Vangelius
18-05-2026 12:38 PM
» Replies: 12
» Views: 4517
Wisewand IA pour gérer sa prod solaire, ...
Last Post: ColeQe
13-05-2026 08:37 AM
» Replies: 0
» Views: 147
Présentation Cole
Last Post: ColeQe
13-05-2026 08:35 AM
» Replies: 0
» Views: 145
Vous utilisez ChatbotGPT pour vos projet...
Last Post: Lennys
12-05-2026 04:29 PM
» Replies: 0
» Views: 159
Optimiser un local batterie, entre choix...
Last Post: Aryann
12-05-2026 10:14 AM
» Replies: 1
» Views: 378

>