Enphase - Envoy - Script - Json Node-Red

Ta regarder la video ?

Oui j ai regarde en gros @olive
Peut on installer sur un synology ?

la bible est la https://nodered.org/ documentation faq installation

Capture d’écran du 2020-05-30 07-32-19

Fait un petit effort de recherche si il te plaît.

Repasse ici seulement avec un node red qui fonctionne.

Ouvre un nouveau sujet si besoin.

Pour mémoire le Sujet ici est centrer sur la récupération des information des passerelles ENVOY de chez ENPHASE.

:ok:

@olive

voila un node-red operationnel

maintenant a voir comment ca marche
je reviens sur ce post comme tu as dit

1 regarde si dans le menu en haut a droite
si tu à l’option manage palette ?
et quel est la version de nodered indiqué en bas de ce menu ?

Capture d’écran du 2020-05-30 08-12-43

Si tu n’a pas l’option Manage palette il va te falloir l’ajouter
il me semble que c’est dans la video.

Cela permet d’installer des libraries. sans passer a chaque fois par une ligne de commande.

re @olive
voila

Capture d’écran 2020-05-30 à 11.58.44

maintenant il te faut ajouter la palette dashboard

qui permet des affichages sympa

en gros tu va récupérer tout ça :

ou ca

ca ne veut pas s’intaller why?

Pour la suite voici un flow que tu va importer
qui sera la 1er partie (informations global de l’envoy)
1 tu copie tout le code du flow
puis MENU Import


tu devrait te retrouvé avec ça :

tu va avoir 2 choses a personaliser
1 dans la boite api/V1/production (L’IP de ta passerelle)
2 les parametres dans Envoi sur virtuel jeedom

pour cette 2 ieme tu doit:

1 creez un virtuel dans jeedom commande info numerique

2 notez l’ ID-commande

Modifier l’url en concéquence

http://IP:PORT/core/api/jeeApi.php?plugin=virtual&apikey=APIJEEDOM&type=virtual&id=ID-COMMANDE&value={{{payload}}}

Code du flow
[
    {
        "id": "eff1b790.91619",
        "type": "tab",
        "label": "Envoy-Global",
        "disabled": false,
        "info": ""
    },
    {
        "id": "c7b8ec43.2409f8",
        "type": "http request",
        "z": "eff1b790.91619",
        "name": "api/v1/production",
        "method": "GET",
        "ret": "txt",
        "paytoqs": false,
        "url": "http://IP-PASSERELLE/api/v1/production",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "x": 190,
        "y": 160,
        "wires": [
            [
                "5b683e26.da85c",
                "e32aed6f.1bf028",
                "3ebd75bb.816d4a",
                "2269efe5.4a57f8"
            ]
        ],
        "info": "indiquez l'IP de votre passerelle\ndans le champ url\n\nex:\n\nhttp://192.168.12.248/api/v1/production\n"
    },
    {
        "id": "6edb9d9.a2ae464",
        "type": "inject",
        "z": "eff1b790.91619",
        "name": "Toutes les 10 s",
        "topic": "",
        "payload": "true",
        "payloadType": "bool",
        "repeat": "10",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "x": 150,
        "y": 60,
        "wires": [
            [
                "c7b8ec43.2409f8"
            ]
        ]
    },
    {
        "id": "5b683e26.da85c",
        "type": "function",
        "z": "eff1b790.91619",
        "name": "kWatt aujourd'hui",
        "func": "msg.payload = JSON.parse(msg.payload).wattHoursToday/1000;\nmsg.color = \"red\";\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 390,
        "y": 60,
        "wires": [
            [
                "2f2d44db.e97eec",
                "85ef35d0.9c5f58"
            ]
        ]
    },
    {
        "id": "2f2d44db.e97eec",
        "type": "debug",
        "z": "eff1b790.91619",
        "name": "kWh",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "x": 590,
        "y": 20,
        "wires": []
    },
    {
        "id": "e32aed6f.1bf028",
        "type": "function",
        "z": "eff1b790.91619",
        "name": "Watts 7 Jours",
        "func": "msg.payload = Math.trunc(JSON.parse(msg.payload).wattHoursSevenDays/1000);\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "x": 380,
        "y": 120,
        "wires": [
            [
                "c4567b69.8dd7d",
                "ef705744.82f76"
            ]
        ]
    },
    {
        "id": "3ebd75bb.816d4a",
        "type": "function",
        "z": "eff1b790.91619",
        "name": "Watts depuis le début",
        "func": "msg.payload = Math.trunc(JSON.parse(msg.payload).wattHoursLifetime/1000);\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 410,
        "y": 180,
        "wires": [
            [
                "9455420c.0aff58",
                "a045a046.18fb68"
            ]
        ]
    },
    {
        "id": "2269efe5.4a57f8",
        "type": "function",
        "z": "eff1b790.91619",
        "name": "Watts maintenant",
        "func": "msg.payload =JSON.parse(msg.payload).wattsNow;\nmsg.color = \"#FFFF00\";\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 400,
        "y": 240,
        "wires": [
            [
                "2efffb0.16e6806",
                "71dffca8.10bb2c",
                "2ae2a821.32c4d8",
                "ddea66c6.af545"
            ]
        ]
    },
    {
        "id": "c4567b69.8dd7d",
        "type": "debug",
        "z": "eff1b790.91619",
        "name": "kWh",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "x": 590,
        "y": 80,
        "wires": []
    },
    {
        "id": "9455420c.0aff58",
        "type": "debug",
        "z": "eff1b790.91619",
        "name": "kWh",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "x": 590,
        "y": 140,
        "wires": []
    },
    {
        "id": "2efffb0.16e6806",
        "type": "debug",
        "z": "eff1b790.91619",
        "name": "Wh",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "x": 590,
        "y": 200,
        "wires": []
    },
    {
        "id": "71dffca8.10bb2c",
        "type": "ui_text",
        "z": "eff1b790.91619",
        "group": "7bee311c.cf31f8",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "Puissance Actuel",
        "label": "<font color= {{msg.color}} >Puissance Actuel kWh</font>",
        "format": "<font color= {{msg.color}} > {{msg.payload}} </font>",
        "layout": "row-spread",
        "x": 730,
        "y": 340,
        "wires": []
    },
    {
        "id": "85ef35d0.9c5f58",
        "type": "ui_text",
        "z": "eff1b790.91619",
        "group": "7bee311c.cf31f8",
        "order": 4,
        "width": 0,
        "height": 0,
        "name": "kWh Aujourd'hui",
        "label": "kWh Aujourd'hui",
        "format": "<font color= {{msg.color}} > {{msg.payload}} </font>",
        "layout": "row-spread",
        "x": 730,
        "y": 60,
        "wires": []
    },
    {
        "id": "a045a046.18fb68",
        "type": "ui_text",
        "z": "eff1b790.91619",
        "group": "7bee311c.cf31f8",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "kWh Depuis le début",
        "label": "kWh Depuis le début",
        "format": "{{msg.payload}}",
        "layout": "row-spread",
        "x": 750,
        "y": 180,
        "wires": []
    },
    {
        "id": "ef705744.82f76",
        "type": "ui_text",
        "z": "eff1b790.91619",
        "group": "7bee311c.cf31f8",
        "order": 2,
        "width": 0,
        "height": 0,
        "name": "kWh Depuis7 Jours",
        "label": "kWh Depuis 7 Jours",
        "format": "{{msg.payload}}",
        "layout": "row-spread",
        "x": 740,
        "y": 120,
        "wires": []
    },
    {
        "id": "2ae2a821.32c4d8",
        "type": "ui_chart",
        "z": "eff1b790.91619",
        "name": "Chatr Puissance panneaux",
        "group": "7bee311c.cf31f8",
        "order": 6,
        "width": 0,
        "height": 0,
        "label": "Puissance panneaux",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "0",
        "ymax": "5500",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 780,
        "y": 240,
        "wires": [
            []
        ]
    },
    {
        "id": "ddea66c6.af545",
        "type": "http request",
        "z": "eff1b790.91619",
        "name": "Envoi sur virtuel Jeedom",
        "method": "GET",
        "ret": "txt",
        "paytoqs": false,
        "url": "http://IP:PORT/core/api/jeeApi.php?plugin=virtual&apikey=APIJEEDOM&type=virtual&id=ID-COMMANDE&value={{{payload}}}",
        "tls": "",
        "persist": true,
        "proxy": "",
        "authType": "",
        "x": 590,
        "y": 420,
        "wires": [
            []
        ],
        "info": "1 creez un virtuel dans jeedom commande info numerique\n\n2 notez l' ID-commande\n\nModifier l'url en concéquence\n\nhttp://IP:PORT/core/api/jeeApi.php?plugin=virtual&apikey=APIJEEDOM&type=virtual&id=ID-COMMANDE&value={{{payload}}}"
    },
    {
        "id": "7bee311c.cf31f8",
        "type": "ui_group",
        "z": "",
        "name": "Envoy Global",
        "tab": "de563dfd.ce425",
        "order": 1,
        "disp": true,
        "width": 6,
        "collapse": false
    },
    {
        "id": "de563dfd.ce425",
        "type": "ui_tab",
        "z": "",
        "name": "Passerelle Envoy",
        "icon": "dashboard",
        "order": 1,
        "disabled": false,
        "hidden": false
    }
]

Voilà

Ok
Mais comme le Node red Dashboard ne veut pas s’installer
Faut trouver le pb de ça
Tu l à installer sur koi toi node red

Un débian 10 buster

Sur une vm?

non pas en vm sur machinne normal

Mon jeedom tourne sur une vm sur un nuc i7
Je vais installer une vm buster voir si ça fait pareil

Faut que je trouve comment installer node red sur buster

@olive
Pas réussi à installé
Dommage

node-red est basé sur node.js
essai de suivre cette procédure pour mettre a jour node.js

Fait bien attention aux n° de versions (suivre les liens pour connaitre les dernieres version)
tu devrait arriver a ça :

pi@covid:~$ nvm version
v14.3.0
pi@covid:~$ node -v
v14.3.0
pi@covid:~$ 

Il se peut que certaines commandes qui commence par curl ne fonctionne pas
dans ce cas install cette commande

sudo apt install curl

ca y est c’est installer la palette node-red-dasboard aussi
jai fait tt ce que tu as dit plus haut


modifier les adresses
maintenant comment je vois les graphe ?

Bien
Avant de voir le graphe a tu remis l’ IP de ta passerelle
dans api/v1/production
Capture d’écran du 2020-05-31 09-18-58

oui oui bien sur

clique en haut sur le bouton rouge deploy
clique sur l’icon dashboard
puis sur le petit carré avec la fleche
ça devrait t’ouvrir une fenêtre navigateur … YES ?

Capture d’écran du 2020-05-31 09-22-47