{"id":3473,"date":"2025-03-01T19:01:09","date_gmt":"2025-03-01T18:01:09","guid":{"rendered":"https:\/\/domo.rem81.com\/?p=3473"},"modified":"2026-01-15T17:26:55","modified_gmt":"2026-01-15T16:26:55","slug":"photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-1-collecte-des-donnees","status":"publish","type":"post","link":"https:\/\/domo.rem81.com\/index.php\/2025\/03\/01\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-1-collecte-des-donnees\/","title":{"rendered":"Photovoltaique- Gestion de mon Systeme Solaire Victron avec Node-RED : Partie 1 &#8211; Collecte des Donn\u00e9es(obsol\u00e8te)"},"content":{"rendered":"\n\n\n\n<h1 class=\"wp-block-heading\">Update:<\/h1>\n\n\n\n<p>Voir mon nouvel article sur le sujet: <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-domo-rem-81 wp-block-embed-domo-rem-81\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"0BkAXj1kbz\"><a href=\"https:\/\/domo.rem81.com\/index.php\/2026\/01\/12\/ha-integrer-et-superviser-un-systeme-victron-dans-home-assistant-configuration-mqtt-v2026\/\">HA-Int\u00e9grer et superviser un syst\u00e8me Victron dans Home Assistant : Configuration MQTT -V2026<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u00ab\u00a0HA-Int\u00e9grer et superviser un syst\u00e8me Victron dans Home Assistant : Configuration MQTT -V2026\u00a0\u00bb &#8212; Domo Rem81\" src=\"https:\/\/domo.rem81.com\/index.php\/2026\/01\/12\/ha-integrer-et-superviser-un-systeme-victron-dans-home-assistant-configuration-mqtt-v2026\/embed\/#?secret=QkpTfcndyd#?secret=0BkAXj1kbz\" data-secret=\"0BkAXj1kbz\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Intro<\/h1>\n\n\n\n<p>Sur mon blog domo.rem81.com, je partage mes projets domotiques pour rendre ma maison plus intelligente et \u00e9conome. Aujourd\u2019hui, je vous pr\u00e9sente un flow Node-RED que j\u2019ai con\u00e7u pour collecter et traiter les donn\u00e9es de mon syst\u00e8me solaire Victron Energy, compos\u00e9 d\u2019un MultiPlus-II (MP2), d\u2019un contr\u00f4leur MPPT, et d\u2019un Cerbox GX dans lequel j&rsquo;ai activ\u00e9 \u00ab\u00a0Node Red\u00a0\u00bb. Ce flow est la premi\u00e8re partie d\u2019un syst\u00e8me plus large qui me permet de surveiller et d\u2019automatiser ma production et ma consommation d\u2019\u00e9nergie.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Objectif du flow<\/h1>\n\n\n\n<p>Ce flow, nomm\u00e9 \u00ab\u00a0Communs\u00a0\u00bb, est la base de mon syst\u00e8me de monitoring. Il r\u00e9cup\u00e8re des donn\u00e9es cl\u00e9s de mon installation Victron, comme la puissance PV, la consommation, l\u2019\u00e9tat de charge, et l\u2019\u00e9tat du r\u00e9seau, puis les publie via MQTT pour une int\u00e9gration avec Home Assistant. Ces donn\u00e9es me permettent de suivre en temps r\u00e9el la performance de mon syst\u00e8me solaire et de pr\u00e9parer des automatisations (que je d\u00e9taillerai dans un prochain article).<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Le flow Node-RED<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Code json<\/h2>\n\n\n\n<p>Vous pouvez  copier\/coller le fichier .json en Annexe<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Visualisation du flow<\/h2>\n\n\n\n<p>Voici une capture d\u2019\u00e9cran de mon flow \u00ab\u00a0Communs\u00a0\u00bb dans Node-RED, o\u00f9 vous pouvez voir la disposition des n\u0153uds et le flux des donn\u00e9es entre eux :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"664\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/03\/image-19.png\" alt=\"\" class=\"wp-image-3636\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/03\/image-19.png 653w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/03\/image-19-295x300.png 295w\" sizes=\"auto, (max-width: 653px) 100vw, 653px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"254\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/03\/image-20.png\" alt=\"\" class=\"wp-image-3638\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/03\/image-20.png 474w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2025\/03\/image-20-300x161.png 300w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>Cette capture montre les diff\u00e9rents sous-flux, comme la collecte de la puissance PV (n\u0153uds <code>victron-input-solarcharger<\/code>), l\u2019\u00e9tat du VE.Bus (n\u0153uds <code>victron-input-vebus<\/code>), et les publications MQTT (n\u0153uds <code>mqtt out<\/code>). Les n\u0153uds <code>debug<\/code> sont \u00e9galement visibles pour le suivi des donn\u00e9es en temps r\u00e9el.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Analyse du flow<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Puissance du r\u00e9seau (Grid L1)<\/strong> :<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un n\u0153ud <code>victron-input-gridmeter<\/code> r\u00e9cup\u00e8re la puissance sur la phase L1 (<code>\/Ac\/L1\/Power<\/code>) depuis le service <code>com.victronenergy.grid\/31<\/code>.<\/li>\n\n\n\n<li>La valeur est publi\u00e9e sur le topic <code>mp2\/multiplus2\/grid_l1_ac<\/code> via deux brokers MQTT (un pour Home Assistant \u00e0 <code>192.168.0.37:1883<\/code>, un autre pour un serveur Proxmox \u00e0 <code>192.168.0.204:1883<\/code>).<\/li>\n\n\n\n<li>Un n\u0153ud <code>debug<\/code> affiche la valeur pour le suivi.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Puissance PV totale<\/strong> :<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deux n\u0153uds collectent la puissance PV :\n<ul class=\"wp-block-list\">\n<li><code>PV MPPT1<\/code> : Puissance du contr\u00f4leur MPPT (<code>\/Yield\/Power<\/code> sur <code>com.victronenergy.solarcharger\/279<\/code>).<\/li>\n\n\n\n<li><code>PV MO<\/code> : Puissance PV coupl\u00e9e AC (<code>\/Ac\/PvOnGrid\/L1\/Power<\/code> sur <code>com.victronenergy.system\/0<\/code>).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Les valeurs sont stock\u00e9es dans des variables de flux (<code>mppt1<\/code> et <code>pvmo<\/code>), additionn\u00e9es via un n\u0153ud <code>function<\/code>, et publi\u00e9es sur le topic <code>mp2\/multiplus2\/prod_totale<\/code>.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u00c9tat du VE.Bus et de charge<\/strong> :<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un n\u0153ud r\u00e9cup\u00e8re l\u2019\u00e9tat du VE.Bus (<code>\/State<\/code>) du MultiPlus-II, le convertit en texte lisible (ex. \u00ab\u00a0Inverting\u00a0\u00bb) via un n\u0153ud <code>function<\/code>, et le publie sur <code>mp2\/multiplus2\/etatbusve<\/code>.<\/li>\n\n\n\n<li>Un autre n\u0153ud r\u00e9cup\u00e8re l\u2019\u00e9tat de charge (<code>\/VebusChargeState<\/code>) et le publie sur <code>mp2\/multiplus2\/etatcharge<\/code>.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Autres m\u00e9triques<\/strong> :<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SOC minimum (<code>\/Settings\/CGwacs\/BatteryLife\/MinimumSocLimit<\/code>) publi\u00e9 sur <code>mp2\/multiplus2\/soc_mini<\/code>.<\/li>\n\n\n\n<li>\u00c9tat du r\u00e9seau (<code>\/Alarms\/GridLost<\/code>) publi\u00e9 sur <code>mp2\/multiplus2\/grid_lost<\/code>.<\/li>\n\n\n\n<li>Mode de fonctionnement (<code>\/Mode<\/code>) publi\u00e9 sur <code>mp2\/multiplus2\/mode<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9tails techniques<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N\u0153ud <code>function<\/code> pour l\u2019\u00e9tat VE.Bus<\/strong> : Le script JavaScript suivant convertit les codes d\u2019\u00e9tat en texte :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>var code=msg.payload;\n\n\/\/ Tableau \u00e0 deux colonnes\nvar tableau = &#091;\n\n    &#091;0, 'Off'],\n    &#091;1, 'Low Power'],\n    &#091;2, 'Fault'],\n    &#091;3, 'Bulk'],\n    &#091;4, 'Absorption'],\n    &#091;5, 'Float'],\n    &#091;6, 'Storage'],\n    &#091;7, 'Equalize'],\n    &#091;8, 'Passthru'],\n    &#091;9, 'Inverting'],\n    &#091;10, 'Power assist'],\n    &#091;11, 'Power supply'],\n    &#091;255, 'External controle'],\n];\n\n\/\/ Fonction pour extraire la deuxi\u00e8me colonne en fonction de la premi\u00e8re colonne\nfunction extraireDeuxiemeColonne(valeur) {\n    for (var i = 0; i &lt; tableau.length; i++) {\n        if (tableau&#091;i]&#091;0] === valeur) {\n            return tableau&#091;i]&#091;1];\n        }\n    }\n    return \"Etat Inconnu\"; \/\/ Retourne null si aucune correspondance trouv\u00e9e\n}\n\n\/\/ Exemple d'utilisation\nvar valeurRecherchee = code;\nvar resultat = extraireDeuxiemeColonne(valeurRecherchee);\nmsg.payload = resultat;\n\nreturn &#091;msg]<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Brokers MQTT<\/strong> : Deux brokers sont utilis\u00e9s pour assurer une redondance et une int\u00e9gration avec diff\u00e9rents syst\u00e8mes (Home Assistant et Proxmox).<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Int\u00e9gration avec Home Assistant<\/h1>\n\n\n\n<p>Ce flow envoie toutes les donn\u00e9es via MQTT \u00e0 Home Assistant (broker \u00e0 <code>192.168.0.37:1883<\/code>). Par exemple, le topic <code>mp2\/multiplus2\/prod_totale<\/code> me permet de suivre la production totale de mes panneaux solaires dans un tableau de bord. Ces donn\u00e9es sont \u00e9galement envoy\u00e9es \u00e0 un serveur Proxmox pour un monitoring secondaire.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Pourquoi Node-RED ?<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Simplicit\u00e9<\/strong> : Je peux collecter et traiter des donn\u00e9es complexes sans \u00e9crire de code complexe.<\/li>\n\n\n\n<li><strong>Flexibilit\u00e9<\/strong> : Les n\u0153uds Victron s\u2019int\u00e8grent parfaitement avec MQTT et Home Assistant.<\/li>\n\n\n\n<li><strong>Visuel<\/strong> : L\u2019interface de Node-RED me permet de voir clairement le flux des donn\u00e9es.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Palettes Utilis\u00e9es<\/h1>\n\n\n\n<p>Pour reproduire ce flow, vous aurez besoin d\u2019installer les palettes suivantes dans Node-RED :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>node-red-contrib-victron<\/strong> : Fournit les n\u0153uds pour interagir avec les syst\u00e8mes Victron Energy (comme <code>victron-input-solarcharger<\/code>, <code>victron-input-vebus<\/code>, etc.). Installez-la via le gestionnaire de palettes de Node-RED ou avec la commande :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  npm install node-red-contrib-victron<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>node-red-node-mqtt<\/strong> : Fournit les n\u0153uds MQTT (<code>mqtt out<\/code>, <code>mqtt-broker<\/code>). Cette palette est g\u00e9n\u00e9ralement incluse par d\u00e9faut dans Node-RED, mais si elle est absente, vous pouvez l\u2019installer avec :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  npm install node-red-node-mqtt<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N\u0153uds de base (Core)<\/strong> : Les n\u0153uds comme <code>debug<\/code>, <code>function<\/code>, <code>change<\/code>, et <code>comment<\/code> sont inclus par d\u00e9faut dans Node-RED.<\/li>\n<\/ul>\n\n\n\n<p><strong>Note<\/strong> : Assurez-vous que votre instance Node-RED a acc\u00e8s \u00e0 votre syst\u00e8me Victron (via DBus ou MQTT, selon votre configuration) pour que les n\u0153uds Victron fonctionnent correctement.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p>Ce flow \u00ab\u00a0Communs\u00a0\u00bb est la premi\u00e8re brique de mon syst\u00e8me de gestion d\u2019\u00e9nergie solaire avec Victron Energy. Il me fournit des donn\u00e9es fiables pour surveiller ma production et ma consommation, tout en pr\u00e9parant le terrain pour des automatisations plus avanc\u00e9es (que je partagerai dans un prochain article). Si vous avez un syst\u00e8me Victron ou utilisez Node-RED, ce projet pourrait vous inspirer. Des questions ou des id\u00e9es ? Laissez un commentaire sur domo.rem81.com !<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Liste des publications en lien avec cet article:<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-1-collecte-des-donnees\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-1-collecte-des-donnees\/\" target=\"_blank\" rel=\"noreferrer noopener\">Partie 1: Collecte des donn\u00e9es<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-2-gestion-des-batteries\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-2-gestion-des-batteries\/\" target=\"_blank\" rel=\"noreferrer noopener\">Partie 2: Gestion des batteries<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-3-prevision-de-la-production-solaire\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-3-prevision-de-la-production-solaire\/\" target=\"_blank\" rel=\"noreferrer noopener\">Partie 3: Pr\u00e9vision de la production solaire<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-4-calcul-du-niveau-de-charge-batterie\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/27\/photovoltaique-gestion-de-mon-systeme-solaire-victron-avec-node-red-partie-4-calcul-du-niveau-de-charge-batterie\/\" target=\"_blank\" rel=\"noreferrer noopener\">Partie 4: Calcul du Niveau de charge batterie<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/07\/ha-integrer-et-superviser-un-systeme-victron-dans-home-assistant-configuration-mqtt-modbus-et-automatisation-vers-node-red\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/07\/ha-integrer-et-superviser-un-systeme-victron-dans-home-assistant-configuration-mqtt-modbus-et-automatisation-vers-node-red\/\" target=\"_blank\" rel=\"noreferrer noopener\">HA-Int\u00e9grer et superviser un syst\u00e8me Victron dans Home Assistant<\/a><\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Annexe: Fichier JSON<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;\n    {\n        \"id\": \"dbd727f16cbe7b5f\",\n        \"type\": \"tab\",\n        \"label\": \"Communs\",\n        \"disabled\": false,\n        \"info\": \"\",\n        \"env\": &#091;]\n    },\n    {\n        \"id\": \"6c2cfd4a51894682\",\n        \"type\": \"victron-input-solarcharger\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.solarcharger\/279\",\n        \"path\": \"\/Yield\/Power\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.solarcharger\/279\",\n            \"name\": \"MPPT1\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Yield\/Power\",\n            \"type\": \"float\",\n            \"name\": \"PV Power (W)\"\n        },\n        \"initial\": \"\",\n        \"name\": \"PV MPPT1\",\n        \"onlyChanges\": false,\n        \"roundValues\": \"2\",\n        \"x\": 100,\n        \"y\": 440,\n        \"wires\": &#091;\n            &#091;\n                \"d468080ff4d712b4\",\n                \"9c611a60b8cb5463\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"aba221edbad2b550\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pu MPPT1\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 730,\n        \"y\": 440,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"d468080ff4d712b4\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"MPPT1 Power\",\n        \"topic\": \"mp2\/mppt1\/puissance\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 520,\n        \"y\": 440,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"0ba033780ec27f03\",\n        \"type\": \"victron-input-system\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.system\/0\",\n        \"path\": \"\/Ac\/PvOnGrid\/L1\/Power\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.system\/0\",\n            \"name\": \"Venus system\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Ac\/PvOnGrid\/L1\/Power\",\n            \"type\": \"float\",\n            \"name\": \"PV - AC-coupled on input L1 (W)\"\n        },\n        \"name\": \"PV MO\",\n        \"onlyChanges\": false,\n        \"roundValues\": \"2\",\n        \"x\": 90,\n        \"y\": 620,\n        \"wires\": &#091;\n            &#091;\n                \"fb84cacd5817c316\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"3c4855145c88623a\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 550,\n        \"y\": 620,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"2ff7bd19f8255f7b\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 590,\n        \"y\": 1120,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"21a4d81b370297ec\",\n        \"type\": \"victron-input-solarcharger\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.solarcharger\/279\",\n        \"path\": \"\/State\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.solarcharger\/279\",\n            \"name\": \"MPPT1\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/State\",\n            \"type\": \"enum\",\n            \"name\": \"Charge state\",\n            \"enum\": {\n                \"0\": \"Off\",\n                \"2\": \"Fault\",\n                \"3\": \"Bulk\",\n                \"4\": \"Absorption\",\n                \"5\": \"Float\",\n                \"6\": \"Storage\",\n                \"7\": \"Equalize\",\n                \"245\": \"Off\",\n                \"247\": \"Equalize\",\n                \"252\": \"External Control\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"roundValues\": \"2\",\n        \"x\": 160,\n        \"y\": 1180,\n        \"wires\": &#091;\n            &#091;\n                \"809643acf5badf40\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"809643acf5badf40\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 590,\n        \"y\": 1180,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"926bc7030a8a22fc\",\n        \"type\": \"victron-input-solarcharger\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.solarcharger\/279\",\n        \"path\": \"\/Yield\/Power\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.solarcharger\/279\",\n            \"name\": \"MPPT1\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Yield\/Power\",\n            \"type\": \"float\",\n            \"name\": \"PV Power (W)\"\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"roundValues\": \"2\",\n        \"x\": 160,\n        \"y\": 1060,\n        \"wires\": &#091;\n            &#091;\n                \"537ede6b8c6c2d23\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"537ede6b8c6c2d23\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 590,\n        \"y\": 1060,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"83c41733667fa596\",\n        \"type\": \"victron-input-ess\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.settings\",\n        \"path\": \"\/Settings\/CGwacs\/BatteryLife\/State\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.settings\",\n            \"name\": \"Venus settings\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Settings\/CGwacs\/BatteryLife\/State\",\n            \"type\": \"enum\",\n            \"name\": \"ESS state\",\n            \"enum\": {\n                \"1\": \"BatteryLife enabled (GUI controlled)\",\n                \"2\": \"Optimized Mode \/w BatteryLife: self consumption\",\n                \"3\": \"Optimized Mode \/w BatteryLife: self consumption, SoC exceeds 85%\",\n                \"4\": \"Optimized Mode \/w BatteryLife: self consumption, SoC at 100%\",\n                \"5\": \"Optimized Mode \/w BatteryLife: SoC below dynamic SoC limit\",\n                \"6\": \"Optimized Mode \/w BatteryLife: SoC has been below SoC limit for more than 24 hours. Charging the battery (5A)\",\n                \"7\": \"Optimized Mode \/w BatteryLife: Inverter\/Charger is in sustain mode\",\n                \"8\": \"Optimized Mode \/w BatteryLife: recharging, SoC dropped by 5% or more below the minimum SoC\",\n                \"9\": \"'Keep batteries charged' mode is enabled\",\n                \"10\": \"Optimized mode w\/o BatteryLife: self consumption, SoC at or above minimum SoC\",\n                \"11\": \"Optimized mode w\/o BatteryLife: self consumption, SoC is below minimum SoC\",\n                \"12\": \"Optimized mode w\/o BatteryLife: recharging, SoC dropped by 5% or more below minimum SoC\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 170,\n        \"y\": 1240,\n        \"wires\": &#091;\n            &#091;\n                \"e330792067439a8f\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"e330792067439a8f\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 590,\n        \"y\": 1240,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"6c7bcea6f992d4c4\",\n        \"type\": \"victron-input-ess\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.settings\",\n        \"path\": \"\/Settings\/CGwacs\/Hub4Mode\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.settings\",\n            \"name\": \"Venus settings\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Settings\/CGwacs\/Hub4Mode\",\n            \"type\": \"enum\",\n            \"name\": \"ESS mode\",\n            \"enum\": {\n                \"1\": \"Optimized mode or 'keep batteries charged' and phase compensation enabled\",\n                \"2\": \"Optimized mode or 'keep batteries charged' and phase compensation disabled\",\n                \"3\": \"External control\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 170,\n        \"y\": 1300,\n        \"wires\": &#091;\n            &#091;\n                \"9b2b6bb25628994d\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"9b2b6bb25628994d\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 590,\n        \"y\": 1300,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"4b25d8d1b93fcdba\",\n        \"type\": \"victron-input-ess\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.settings\",\n        \"path\": \"\/Settings\/CGwacs\/BatteryLife\/MinimumSocLimit\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.settings\",\n            \"name\": \"Venus settings\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Settings\/CGwacs\/BatteryLife\/MinimumSocLimit\",\n            \"type\": \"integer\",\n            \"name\": \"Minimum Discharge SOC (%)\"\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 210,\n        \"y\": 900,\n        \"wires\": &#091;\n            &#091;\n                \"7d73444b1e326880\",\n                \"fc436d57b051ac4d\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"7d73444b1e326880\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 730,\n        \"y\": 900,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"7b463173764e0a38\",\n        \"type\": \"victron-input-solarcharger\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.solarcharger\/279\",\n        \"path\": \"\/MppOperationMode\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.solarcharger\/279\",\n            \"name\": \"MPPT1\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/MppOperationMode\",\n            \"type\": \"enum\",\n            \"name\": \"MPP operation mode\",\n            \"enum\": {\n                \"0\": \"Off\",\n                \"1\": \"Voltage or current limited\",\n                \"2\": \"MPPT Tracker active\",\n                \"255\": \"Not available\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"roundValues\": \"2\",\n        \"x\": 180,\n        \"y\": 1120,\n        \"wires\": &#091;\n            &#091;\n                \"305ce0de1ecf3618\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"305ce0de1ecf3618\",\n        \"type\": \"function\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"function 1\",\n        \"func\": \"var code=msg.payload;\\n\\n\/\/ Tableau \u00e0 deux colonnes\\nvar tableau = &#091;\\n    &#091;0, 'Off'],\\n    &#091;1, 'Voltage or current limited'],\\n    &#091;2, 'MPPT Tracker active'],\\n    &#091;255, 'Not available'],\\n];\\n\\n\/\/ Fonction pour extraire la deuxi\u00e8me colonne en fonction de la premi\u00e8re colonne\\nfunction extraireDeuxiemeColonne(valeur) {\\n    for (var i = 0; i &lt; tableau.length; i++) {\\n        if (tableau&#091;i]&#091;0] === valeur) {\\n            return tableau&#091;i]&#091;1];\\n        }\\n    }\\n    return \\\"Etat Inconnu\\\"; \/\/ Retourne null si aucune correspondance trouv\u00e9e\\n}\\n\\n\/\/ Exemple d'utilisation\\nvar valeurRecherchee = code;\\nvar resultat = extraireDeuxiemeColonne(valeurRecherchee);\\nmsg.payload = resultat;\\n\\nreturn &#091;msg]\",\n        \"outputs\": 1,\n        \"noerr\": 0,\n        \"initialize\": \"\",\n        \"finalize\": \"\",\n        \"libs\": &#091;],\n        \"x\": 400,\n        \"y\": 1120,\n        \"wires\": &#091;\n            &#091;\n                \"2ff7bd19f8255f7b\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"8691d04ad00646d5\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat Bus Ve\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 410,\n        \"y\": 300,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"d88e533063763cf7\",\n        \"type\": \"victron-input-vebus\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.vebus\/276\",\n        \"path\": \"\/State\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.vebus\/276\",\n            \"name\": \"MP2\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/State\",\n            \"type\": \"enum\",\n            \"name\": \"VE.Bus state\",\n            \"enum\": {\n                \"0\": \"Off\",\n                \"1\": \"Low Power\",\n                \"2\": \"Fault\",\n                \"3\": \"Bulk\",\n                \"4\": \"Absorption\",\n                \"5\": \"Float\",\n                \"6\": \"Storage\",\n                \"7\": \"Equalize\",\n                \"8\": \"Passthru\",\n                \"9\": \"Inverting\",\n                \"10\": \"Power assist\",\n                \"11\": \"Power supply\",\n                \"252\": \"External control\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"Etat Bus VE\",\n        \"onlyChanges\": false,\n        \"x\": 110,\n        \"y\": 300,\n        \"wires\": &#091;\n            &#091;\n                \"8691d04ad00646d5\",\n                \"b844cf4323dde5eb\",\n                \"d9b7ea9803a6357e\",\n                \"4bf2454c3f28dfc5\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"b844cf4323dde5eb\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat Bus VE\",\n        \"topic\": \"mp2\/multiplus2\/etatbusve\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 750,\n        \"y\": 300,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"d9b7ea9803a6357e\",\n        \"type\": \"function\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"function 2\",\n        \"func\": \"var code=msg.payload;\\n\\n\/\/ Tableau \u00e0 deux colonnes\\nvar tableau = &#091;\\n\\n    &#091;0, 'Off'],\\n    &#091;1, 'Low Power'],\\n    &#091;2, 'Fault'],\\n    &#091;3, 'Bulk'],\\n    &#091;4, 'Absorption'],\\n    &#091;5, 'Float'],\\n    &#091;6, 'Storage'],\\n    &#091;7, 'Equalize'],\\n    &#091;8, 'Passthru'],\\n    &#091;9, 'Inverting'],\\n    &#091;10, 'Power assist'],\\n    &#091;11, 'Power supply'],\\n    &#091;255, 'External controle'],\\n];\\n\\n\/\/ Fonction pour extraire la deuxi\u00e8me colonne en fonction de la premi\u00e8re colonne\\nfunction extraireDeuxiemeColonne(valeur) {\\n    for (var i = 0; i &lt; tableau.length; i++) {\\n        if (tableau&#091;i]&#091;0] === valeur) {\\n            return tableau&#091;i]&#091;1];\\n        }\\n    }\\n    return \\\"Etat Inconnu\\\"; \/\/ Retourne null si aucune correspondance trouv\u00e9e\\n}\\n\\n\/\/ Exemple d'utilisation\\nvar valeurRecherchee = code;\\nvar resultat = extraireDeuxiemeColonne(valeurRecherchee);\\nmsg.payload = resultat;\\n\\nreturn &#091;msg]\",\n        \"outputs\": 1,\n        \"noerr\": 0,\n        \"initialize\": \"\",\n        \"finalize\": \"\",\n        \"libs\": &#091;],\n        \"x\": 400,\n        \"y\": 360,\n        \"wires\": &#091;\n            &#091;\n                \"832320e77dc1dea6\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"832320e77dc1dea6\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat Bus Ve\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 590,\n        \"y\": 360,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"48e118e8b752d94d\",\n        \"type\": \"victron-input-vebus\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.vebus\/276\",\n        \"path\": \"\/VebusChargeState\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.vebus\/276\",\n            \"name\": \"MultiPlus-II 48\/5000\/70-50\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/VebusChargeState\",\n            \"type\": \"enum\",\n            \"name\": \"Charge state\",\n            \"enum\": {\n                \"0\": \"Initialising\",\n                \"1\": \"Bulk\",\n                \"2\": \"Absorption\",\n                \"3\": \"Float\",\n                \"4\": \"Storage\",\n                \"5\": \"Absorb repeat\",\n                \"6\": \"Forced absorb\",\n                \"7\": \"Equalise\",\n                \"8\": \"Bulk stopped\",\n                \"9\": \"Unknown\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 200,\n        \"y\": 780,\n        \"wires\": &#091;\n            &#091;\n                \"94a9b117fae8ddf8\",\n                \"e03d907484d414ed\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"94a9b117fae8ddf8\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat charge\",\n        \"topic\": \"mp2\/multiplus2\/etatcharge\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 530,\n        \"y\": 780,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"e03d907484d414ed\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat Charge\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 730,\n        \"y\": 780,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"1dccaa10188c860c\",\n        \"type\": \"victron-input-gridmeter\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.grid\/31\",\n        \"path\": \"\/Ac\/L1\/Power\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.grid\/31\",\n            \"name\": \"PU RESEAU\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Ac\/L1\/Power\",\n            \"type\": \"float\",\n            \"name\": \"L1 Power (W)\"\n        },\n        \"name\": \"Pu Grid\",\n        \"onlyChanges\": false,\n        \"roundValues\": \"2\",\n        \"x\": 90,\n        \"y\": 40,\n        \"wires\": &#091;\n            &#091;\n                \"99d6a8c380836d7c\",\n                \"6745a32af4b730f6\",\n                \"48ab784708f6d7f8\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"99d6a8c380836d7c\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pu Grid L1 NR\",\n        \"topic\": \"mp2\/multiplus2\/grid_l1_ac\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 660,\n        \"y\": 40,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"6745a32af4b730f6\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pu Grid L1 NR\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 440,\n        \"y\": 40,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"76fd0623aa8568b7\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pu Out1\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 640,\n        \"y\": 220,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"1af8757c8a4823d7\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pu Conso Out1\",\n        \"topic\": \"mp2\/multiplus2\/conso_out1\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 400,\n        \"y\": 220,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"4d89cf2f069496a3\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Prod Total\",\n        \"topic\": \"mp2\/multiplus2\/prod_totale\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 740,\n        \"y\": 520,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"2a7087fd5882db1f\",\n        \"type\": \"victron-input-vebus\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.vebus\/276\",\n        \"path\": \"\/Alarms\/GridLost\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.vebus\/276\",\n            \"name\": \"MP2\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Alarms\/GridLost\",\n            \"type\": \"enum\",\n            \"name\": \"Grid lost alarm\",\n            \"enum\": {\n                \"0\": \"Ok\",\n                \"2\": \"Alarm\"\n            }\n        },\n        \"initial\": \"\",\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 140,\n        \"y\": 840,\n        \"wires\": &#091;\n            &#091;\n                \"bac07d54839d1719\",\n                \"3df6cec207936905\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"bac07d54839d1719\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"debug 35\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 720,\n        \"y\": 840,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"3df6cec207936905\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat Reseau\",\n        \"topic\": \"mp2\/multiplus2\/grid_lost\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 530,\n        \"y\": 840,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"fc436d57b051ac4d\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"SOC Mini\",\n        \"topic\": \"mp2\/multiplus2\/soc_mini\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 520,\n        \"y\": 900,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"baa97094ecb17c98\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"debug 40\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 580,\n        \"y\": 100,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"5df97bdfb4703e3e\",\n        \"type\": \"victron-input-custom\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.vebus\/276\",\n        \"path\": \"\/Ac\/Out\/L1\/P\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.vebus\/276\",\n            \"name\": \"MP2 (276)\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Ac\/Out\/L1\/P\",\n            \"name\": \"\/Ac\/Out\/L1\/P\",\n            \"type\": \"number\"\n        },\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 150,\n        \"y\": 120,\n        \"wires\": &#091;\n            &#091;\n                \"fb099ddfe29df3b2\",\n                \"efb55a0beb67eb69\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"15dff92011bce9ce\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"debug 41\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 840,\n        \"y\": 160,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"48ab784708f6d7f8\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pu Grid L1 NR\",\n        \"topic\": \"mp2\/multiplus2\/grid_l1_ac\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"6f9049bab74834df\",\n        \"x\": 860,\n        \"y\": 40,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"c38c639cd57bd526\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Prod Total\",\n        \"topic\": \"mp2\/multiplus2\/prod_totale\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"6f9049bab74834df\",\n        \"x\": 900,\n        \"y\": 520,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"fb0ffdb6bc324dfa\",\n        \"type\": \"victron-input-custom\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"service\": \"com.victronenergy.vebus\/276\",\n        \"path\": \"\/Mode\",\n        \"serviceObj\": {\n            \"service\": \"com.victronenergy.vebus\/276\",\n            \"name\": \"MP2 (276)\"\n        },\n        \"pathObj\": {\n            \"path\": \"\/Mode\",\n            \"name\": \"\/Mode\",\n            \"type\": \"number\"\n        },\n        \"name\": \"\",\n        \"onlyChanges\": false,\n        \"x\": 130,\n        \"y\": 700,\n        \"wires\": &#091;\n            &#091;\n                \"b9dff75ed3660193\",\n                \"4fb68042625bcd0a\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"b9dff75ed3660193\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"debug 42\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 380,\n        \"y\": 700,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"4fb68042625bcd0a\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Mode de Fonctionnement\",\n        \"topic\": \"mp2\/multiplus2\/mode\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"a89b02435258ed38\",\n        \"x\": 630,\n        \"y\": 700,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"4bf2454c3f28dfc5\",\n        \"type\": \"mqtt out\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Etat Bus VE\",\n        \"topic\": \"mp2\/multiplus2\/etatbusve\",\n        \"qos\": \"\",\n        \"retain\": \"\",\n        \"respTopic\": \"\",\n        \"contentType\": \"\",\n        \"userProps\": \"\",\n        \"correl\": \"\",\n        \"expiry\": \"\",\n        \"broker\": \"6f9049bab74834df\",\n        \"x\": 910,\n        \"y\": 300,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"fb099ddfe29df3b2\",\n        \"type\": \"change\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Save P\",\n        \"rules\": &#091;\n            {\n                \"t\": \"set\",\n                \"p\": \"pu\",\n                \"pt\": \"flow\",\n                \"to\": \"payload\",\n                \"tot\": \"msg\"\n            }\n        ],\n        \"action\": \"\",\n        \"property\": \"\",\n        \"from\": \"\",\n        \"to\": \"\",\n        \"reg\": false,\n        \"x\": 360,\n        \"y\": 120,\n        \"wires\": &#091;\n            &#091;\n                \"baa97094ecb17c98\",\n                \"d87e16cdca5d7af8\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"efb55a0beb67eb69\",\n        \"type\": \"change\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Save Consol1\",\n        \"rules\": &#091;\n            {\n                \"t\": \"set\",\n                \"p\": \"consol1\",\n                \"pt\": \"flow\",\n                \"to\": \"payload\",\n                \"tot\": \"msg\"\n            }\n        ],\n        \"action\": \"\",\n        \"property\": \"\",\n        \"from\": \"\",\n        \"to\": \"\",\n        \"reg\": false,\n        \"x\": 260,\n        \"y\": 180,\n        \"wires\": &#091;\n            &#091;\n                \"76fd0623aa8568b7\",\n                \"d87e16cdca5d7af8\",\n                \"1af8757c8a4823d7\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"d87e16cdca5d7af8\",\n        \"type\": \"function\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Additionne\",\n        \"func\": \"let p = flow.get('pu')\\nlet c = flow.get('consol1')\\nvar sum=0;\\nsum = ((p+c)).toFixed(0);\\n\\nmsg.payload = (sum);\\nreturn &#091;msg]\\n\\n\\n\",\n        \"outputs\": 1,\n        \"timeout\": \"\",\n        \"noerr\": 0,\n        \"initialize\": \"\",\n        \"finalize\": \"\",\n        \"libs\": &#091;],\n        \"x\": 590,\n        \"y\": 160,\n        \"wires\": &#091;\n            &#091;\n                \"15dff92011bce9ce\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"9c611a60b8cb5463\",\n        \"type\": \"change\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Save MPPT1\",\n        \"rules\": &#091;\n            {\n                \"t\": \"set\",\n                \"p\": \"mppt1\",\n                \"pt\": \"flow\",\n                \"to\": \"payload\",\n                \"tot\": \"msg\"\n            }\n        ],\n        \"action\": \"\",\n        \"property\": \"\",\n        \"from\": \"\",\n        \"to\": \"\",\n        \"reg\": false,\n        \"x\": 250,\n        \"y\": 440,\n        \"wires\": &#091;\n            &#091;\n                \"aba221edbad2b550\",\n                \"25f3138e14095a95\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"fb84cacd5817c316\",\n        \"type\": \"change\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Save PVMO\",\n        \"rules\": &#091;\n            {\n                \"t\": \"set\",\n                \"p\": \"pvmo\",\n                \"pt\": \"flow\",\n                \"to\": \"payload\",\n                \"tot\": \"msg\"\n            }\n        ],\n        \"action\": \"\",\n        \"property\": \"\",\n        \"from\": \"\",\n        \"to\": \"\",\n        \"reg\": false,\n        \"x\": 230,\n        \"y\": 620,\n        \"wires\": &#091;\n            &#091;\n                \"3c4855145c88623a\",\n                \"25f3138e14095a95\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"25f3138e14095a95\",\n        \"type\": \"function\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Additionne\",\n        \"func\": \"let p = flow.get('mppt1')\\nlet c = flow.get('pvmo')\\nvar sum=0;\\nsum = (p+c).toFixed(0);\\n\\nmsg.payload = (sum);\\nreturn &#091;msg]\\n\\n\\n\\n\\n\",\n        \"outputs\": 1,\n        \"timeout\": \"\",\n        \"noerr\": 0,\n        \"initialize\": \"\",\n        \"finalize\": \"\",\n        \"libs\": &#091;],\n        \"x\": 390,\n        \"y\": 520,\n        \"wires\": &#091;\n            &#091;\n                \"6906a12da16f3418\",\n                \"4d89cf2f069496a3\",\n                \"c38c639cd57bd526\"\n            ]\n        ]\n    },\n    {\n        \"id\": \"6906a12da16f3418\",\n        \"type\": \"debug\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"debug 46\",\n        \"active\": true,\n        \"tosidebar\": true,\n        \"console\": false,\n        \"tostatus\": true,\n        \"complete\": \"payload\",\n        \"targetType\": \"msg\",\n        \"statusVal\": \"payload\",\n        \"statusType\": \"auto\",\n        \"x\": 560,\n        \"y\": 520,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"49acea5a810e87b5\",\n        \"type\": \"comment\",\n        \"z\": \"dbd727f16cbe7b5f\",\n        \"name\": \"Pour information\",\n        \"info\": \"\",\n        \"x\": 380,\n        \"y\": 1000,\n        \"wires\": &#091;]\n    },\n    {\n        \"id\": \"a89b02435258ed38\",\n        \"type\": \"mqtt-broker\",\n        \"name\": \"MQTTHA\",\n        \"broker\": \"192.168.0.37\",\n        \"port\": \"1883\",\n        \"clientid\": \"\",\n        \"autoConnect\": true,\n        \"usetls\": false,\n        \"protocolVersion\": \"4\",\n        \"keepalive\": \"60\",\n        \"cleansession\": true,\n        \"birthTopic\": \"\",\n        \"birthQos\": \"0\",\n        \"birthPayload\": \"\",\n        \"birthMsg\": {},\n        \"closeTopic\": \"\",\n        \"closeQos\": \"0\",\n        \"closePayload\": \"\",\n        \"closeMsg\": {},\n        \"willTopic\": \"\",\n        \"willQos\": \"0\",\n        \"willPayload\": \"\",\n        \"willMsg\": {},\n        \"userProps\": \"\",\n        \"sessionExpiry\": \"\"\n    },\n    {\n        \"id\": \"6f9049bab74834df\",\n        \"type\": \"mqtt-broker\",\n        \"name\": \"Proxmox\",\n        \"broker\": \"192.168.0.204\",\n        \"port\": \"1883\",\n        \"clientid\": \"\",\n        \"autoConnect\": true,\n        \"usetls\": false,\n        \"protocolVersion\": \"4\",\n        \"keepalive\": \"60\",\n        \"cleansession\": true,\n        \"autoUnsubscribe\": true,\n        \"birthTopic\": \"\",\n        \"birthQos\": \"0\",\n        \"birthPayload\": \"\",\n        \"birthMsg\": {},\n        \"closeTopic\": \"\",\n        \"closeQos\": \"0\",\n        \"closePayload\": \"\",\n        \"closeMsg\": {},\n        \"willTopic\": \"\",\n        \"willQos\": \"0\",\n        \"willPayload\": \"\",\n        \"willMsg\": {},\n        \"userProps\": \"\",\n        \"sessionExpiry\": \"\"\n    }\n]<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Update: Voir mon nouvel article sur le sujet: Intro Sur mon blog domo.rem81.com, je partage mes projets domotiques pour rendre ma maison plus intelligente et \u00e9conome. Aujourd\u2019hui, je vous pr\u00e9sente &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,6],"tags":[65,64,66,63],"class_list":["post-3473","post","type-post","status-publish","format-standard","hentry","category-homeassistant","category-photovoltaique","tag-cerbogx","tag-multiplus2","tag-nodered","tag-victron"],"_links":{"self":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/comments?post=3473"}],"version-history":[{"count":16,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3473\/revisions"}],"predecessor-version":[{"id":4287,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3473\/revisions\/4287"}],"wp:attachment":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/media?parent=3473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/categories?post=3473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/tags?post=3473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}