Solax Power SK-SU5000E

Logo_SolaxPower Solax Power-SK-SU5000E SolaX-X-Hybrid-Inverter-removebg-preview

Monitorizar nuestro inversor Solax Power SK-SU5000E de 4.6kW con Grafana e InfluxDB 2.0 sin depender del portal web oficial.

Este modelo de inversor es de 1ª Generación, y su plataforma web oficial para su monitorización es www.solax-portal.com y la nueva para la 3ª Generación es www.solaxcloud.com. Claro ambos dispositivos no son compatibles con las plataformas, cada uno corresponde a un portal. Pero en este modelo cómo en el portal web de solax-portal.com no tiene la opción de usar una API, lo que vamos a aprender con este repositorio es a monitorizar nuestro inversor en conexión local, es decir sin depender de la plataforma web oficial y con las herramientas de software OpenSource vamos a poder monitorizar y crear nuestro sistema de monitorización y guardar nuestros datos sin infinidamente, (siempre dependiendo de los recursos de nuestro Servidor o PC, ya que en la plataforma web los gráficos sólo son visibles durante un periodo de tiempo, 1 año aprox. Y sólo podemos exportar los datos en formato excel (.csv) pero claro así no es que sea muy visual que digamos. :D:D:D:D Bien las herramientas que necesitaremos son las siguientes:

  1. Hardware: PC local, Servidor NAS, RaspberryPI 2. (Siempre depende de los recursos tanto económicos o disponisbles que tengan actualmente).
  2. Software: Docker (Windows, Linux, Mac o RaspberryPi), Node-Red (Docker), InfluxDB 2.0 (Docker) y Grafana (Grafana es opcional ya que InfluxDB tiene también parámetros gráficos par monitorizar).

Una vez tengamos las herramientas y todo instalado, empezaremos cómo configurar nuestros parámetros para poder obtener los datos del inversor SolaxPower SK-SU5000E.

Paso 1: Usaremos la aplicación isntalada Node-Red y accederemos al portal web para su configuración. Es posible aquellos que tengan Node-Red por defecto no tiene el usuario Admin habilitado y podrás acceder sin usuario. (Esto es posible cambiarlo en configuraciones de Node-Red en la consola de comandos). Bien una vez en Node-Red cogeremos las bloques necesarios para obtener la información de nuestro equipo en la red local de nuestra casa o negocio. Y así poder traducir esos datos en el lenguaje legible para poder enviar los mismos datos a nuestra BBDD InfluxDB 2.0 o bien MySQL dependiendo de vuestra elección. (Recomiendo InfluxDB 2.0 par este repositorio). Os dejo una imagen de cómo quedaría en el ejemplo a continuación:

SolaxPower_SK-SU5000E_Node-Red SolaxPower_SK-SU5000E_Node-Red_functions

URL para la obtención de los datos en tiempo real:

Methodo GET: http://192.168.X.X/api/realTimeData.html

URL para la obtención de datos históricos:

Metodo GET: http://192.168.X.X/api/historyData.html 

Paso 2: Ahora en InfluxDB 2.0 vamos a comprobar que los datos son recopilados debidamente con las funciones que hemos realizado en el paso anterior en Node-Red. Adjunto imagen de cómo debería aparecer, siempre dependiendo de vuestros datos e información que hayaís añadido en en el apartado de "function"

SolaxPower_SK-SU5000E_InfluxDB2 0

Paso 3: Por último si deseamos monitorizarlo en Grafana para poder realizar filtros más detallados y gráficos más personalizados os quedará algo parecido como en la imagen siguiente:

SolaxPower_SK-SU5000E_Grafana

Ver en más información en YouTube: https://www.youtube.com/watch?v=9i_naLjdNTw

[{"id":"6424115fbab35a2c","type":"tab","label":"SolaxPower SK-SU5000E","disabled":false,"info":"","env":[]},{"id":"83191c7391ecedaf","type":"debug","z":"6424115fbab35a2c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":990,"y":140,"wires":[]},{"id":"33c14375d0793345","type":"http request","z":"6424115fbab35a2c","name":"API SolaxPower","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.X.X/api/realTimeData.html","tls":"","persist":true,"proxy":"","authType":"","senderr":false,"x":340,"y":100,"wires":[["afc43c2ee12cb46c"]]},{"id":"d2064575b74e530c","type":"function","z":"6424115fbab35a2c","name":"SolaxPower SU5000E","func":"// A continuación esto es un ejemplo de cómo exportar los datos de\n// SolaxPower SK-SU5000E.\n// Antes de realizar este apartado asegurarte de que obtienes los datos de\n// la dirección IP de tu equipo en modo local, cada arquitectura de red, siempre\n// es diferente.\n\nSolaxPower={\n    //PV1A:msg.payload.Data[0],\n    FV1A: msg.payload.Data[0],\n    // Debes continuar implementando los siguientes parámetros de tu equipo.\n};\n\nmsg.payload = SolaxPower;\n\nreturn msg;\n\n// Developed by Rubén Gámez Torrijos","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":100,"wires":[["83191c7391ecedaf","d310719a77e77e16"]]},{"id":"394740d86bceb2a0","type":"inject","z":"6424115fbab35a2c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":120,"y":100,"wires":[["33c14375d0793345"]]},{"id":"afc43c2ee12cb46c","type":"yaml","z":"6424115fbab35a2c","property":"payload","name":"","x":510,"y":100,"wires":[["a57c010157e7986f","d2064575b74e530c"]]},{"id":"a57c010157e7986f","type":"debug","z":"6424115fbab35a2c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":140,"wires":[]},{"id":"d310719a77e77e16","type":"influxdb out","z":"6424115fbab35a2c","influxdb":"","name":"Influx DB 2.0","measurement":"nombre que desees","precision":"","retentionPolicy":"","database":"SolaxPowerInfluxDB","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"Torrijos","bucket":"SolaxPower","x":990,"y":100,"wires":[]}]

Flow Info

Created 2 years, 11 months ago
Updated 2 years, 10 months ago
Rating: 5 3

Actions

Rate:

Node Types

Core
  • debug (x2)
  • function (x1)
  • http request (x1)
  • inject (x1)
  • yaml (x1)
Other

Tags

  • Solax
  • SolaxPower
  • SK-SU5000E
  • INVERTER
  • INVERSOR
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option