Resultados 1 al 20 de 20
Tema: Mi instalación aislada
- 17/10/2022, 12:19 #1Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Mi instalación aislada
Hola a todos, este año puse una instalación solar sencillita, de esas que venden para enchufar y listo en una fica donde necesitaba electricidad.
El objetivo principal era para un sistema de riego por goteo que tenía funcionando con un grupo electrógeno y quería eliminar de la ecuación. Pero la vista puesta a medio-largo plazo era para "domotizar" la plantación, cuando tuviera más tiempo para dedicarle.
Por unas cosas y otras al final acabé liándome y el medio-largo plazo se convirtió en corto plazo jajaja y así estoy. Paso a enseñaros alguna foto:
Aquí irá la foto del maldito inversor jajaja
Aquí de la instalación terminada
Aquí de la bomba de riego
Aquí del "cuadro de mandos"
Detalle de la balsa de riego
Última edición por ariasmonyvelarde; 18/10/2022 a las 11:16
-
- 18/10/2022, 11:49 #2Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
La verdad que montarlo, pese a no tener ni pajolera idea de fotovoltaico fue relativamente fácil. Meses antes utilicé este maravilloso foro para aprender cosas básicas, aunque no lo utilicé lo suficiente.......
Según los cálculos que hice de mis necesidades energéticas y el "aparato principal" que se iba a usar, el vendedor me dijo que con esta instalación para empezar tendría suficiente. Pero una vez que todo estaba listo y funcionando, le di al "botón", la bomba se pone a arrancar y zaaassss.
Lucecitas de colores, pitidos y en la pantalla del inversor, "error F7", sobrecarga. Todo por no haber preparado un cable para medir el consumo real de la bomba y guiarme sólo por la etiqueta:
Suponía que tendría un pico de arranque, pero no que los tenían tan altos. Con la pinza amperimétrica y conectándola al grupo de gasolina se medían picos de 28 amperios al arrancar y los reales todavía serán superiores.
Mirando el manual del inversor dice que puede cubrir un 150% de intensidad durante 5 segundos, pero ni con eso llega.......
Después de mucho pensar que hacer, decidí gastarme 50 eurillos en poner este cacharro que venden como "arrancador suave":
Una semana después vuelvo a hacer la prueba inaugural y ...... funcionaaaaa.
Me puse a regar como si no hubiera mañana, tal y como venía haciendo con el grupo electrógeno, 20 min por sector por tres sectores, pero al tercer día zasssssss
El siguiente cuello de botella fue error por exceso de temperatura.......ya me había fijado en su momento que no parecía buena idea lo de sacar el aire por abajo......... Bueno dividí el riego en tramos de 20 min con descansos de 15 min y funcionó mejor, pero algún día de verano que hizo mucho calor, en esa caseta de chapa volvía a fallar.
Maldita sea, que guerra con ese inversor (y lo que me esperaba)
Me lío la manta a la cabeza y aíslo la caseta por dentro con rollo de aluminio para bajar la temperatura interior, ya no sólo por el inversor, también por tener un sitio fresco donde guardarse uno, en el norte no nos gusta "la calor". Pero aún así a veces no iba fino.
Me puse a leer el tema de cambiar el sentido de los ventiladores, pero al final parece ser que las pruebas no fueron mejores, así pues mi última solución fue ponerle un escape al ventilador central, simplemente lo fabriqué con la impresora 3d una pieza sencilla rectangular para sacar el aire frontalmente y que no se quede debajo acumulando calor, con esto último y ajustando los riegos a 15 min, parece que se acabó, el próximo verano veremos....... En la 4ª foto, debajo del inversor podéis ver una pieza cuadrada gris, que es a lo que me refiero.
- 18/10/2022, 12:26 #3Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Bueno, una vez que la cosa ya regaba con la instalación solar, pues ya me empecé a liar más...... Tenía puestos por la finca los típicos sensores que dan datos de las plantas con una apk por bluetoth y entre mis planes estaban poner un servidor domótico para controlar todo desde fuera, vivo a 100km de la finca.
Entonces lo primero fue cascar un router de esos que van con sim, y pelearme con que compañía contratar que pudiera estar fuera del cgnat, misión imposible excepto para servicios MTM con poco tráfico de datos. En eso estaba hasta que descubrí la red ZeroTier, que no conocía y encima vi que era muy sencilla de implementar en HomeAssistant.
Me hice con una Raspberry, instale Hass.Os y empecé a montar todo, muy rápido porque ya conozco un poco toda esa cacharrería........unos mini paneles de esos para cargar móviles y alimentar unos ESP32, que hacen de nodos para recoger datos de los sensores de plantas. Después y los pasan por wifi
Unas camaritas por otro lado....... un sonoff 4Ch para jubilar el programador analógico y activar el riego a distancia......
En fin, en un finde lo tenía ya todo funcionando, le llegó el turno a integrar el inversor.......
Había estado probando con el pc el wathPower, que funcionó una vez a la primera y luego no hubo manera de que volviera a ir, El portátil que uso con w7 tiene un descontrol de drivers e historias cojonudo, así que también será parte del problema, Ahora funciona con otro programa de esos que no se como se llama , pero vamos, que no sirve a mis propósitos.
EL caso es que el principal problema que tengo, es que no se que maldito inversor he comprado jajaja, me río por no llorar claro. He llegado a la conclusión de que es un clon de los Voltronics, pero por lo que me pasa supongo que es un Must Solar de esos que Voltronic denunció por plagio y ahora han tuneado un poco.
Pero espero que alguna alma caritativa de vosotros me sepa orientar.
Y aquí llego al meollo de la cuestión donde estoy atascado.
El caso es que al principio pensé que era un Voltronic clon de esos y me puse a seguir los tutoriales de este foro con nodeRed. Solo consigo comunicación con con el flujo del axpert max, pero los datos que me devuelve son valor 0 o desconocido directamente y en el QPIGSExtraccion me da un error directamente. Uso un cable FTDI que conecta en la toma RJ45 y a usb en la RaspBerry.
Este cable:
Como al crear el nodo serial, si le doy a la lupa, no me detecta nada, pensé que tal vez el problema era por no usar HomeAssistant montado en Docker y permisos en los puertos usb.
Así que migre todo a un sistema con contenedores y entonces el nodo serial si me detecta las conexiones, tanto la del cable usb, que traía el inversor, como la serie con el FTDI que compré yo.
Pero en cambio así no consigo comunicación con ninguno de los 3 flujos que hay puestos en el foro. Me da directamente error de timeOut.
Ahora lo tengo montado otra vez con Hass.Os, adjunto capturas de pantalla de lo que me devuelve el debug
Entiendo que el problema es que la programación del flujo no sirve para mi inversor porque no es un Voltronic clónico, si no que es un Must solar?Última edición por ariasmonyvelarde; 19/10/2022 a las 12:06
- 18/10/2022, 13:10 #4
Re: Mi instalación aislada
hola, claro que falla si el consumo normal son 2,2kw en pico pueden ser mas de 5kw de arranque, para bajar la temperatura, te recomiendo coger un tubo de los de las calderas flexibles, y pones un ventilador al exterior para sacar el aire del inversor ,le fuerzas la ventilacion, igual que en algunos ordenadores, y veras como baja la temperatura y los calentones.
respecto a la bomba hubieras necesitado un inversor de 5000w y no 3000w como creo que tienes y al menos 6 placas y no 3 de 300w que dan 900w en el mejor de los casos
estabas un poco justo desde el comienzo, o quizas cambiar la bomba por una de 1500w o menos.
saludos y ya nos contaras.
por cierto me intereesa ese variador de donde lo pillaste? y precio?
saludos
- 18/10/2022, 23:26 #5Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Hola, pues si, estás en lo cierto, lo hice todo demasiado justo. Pienso que con otros 3 paneles que ayuden cuando funciona la bomba ya estaría bien, una vez que he solucionado lo de los picos de arranque. Y la bomba como ya la tenía de antes, pues por aprovechar esta, pero si, cuando casque pondré una menos potente, que me llega de sobra.
Respecto al variador, yo lo compré en Aliexpress, pero lo tienes en amazon. Costó 56€ el de 8kw que sólo actúa en la fase de arranque.
https://a.aliexpress.com/_ExYXBmh
- 28/10/2022, 19:10 #6Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Alguien me puede arrojar luz, nunca mejor dicho jajaja
- 28/10/2022, 21:59 #7
Re: Mi instalación aislada
sobre que?
- 29/10/2022, 11:16 #8Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
- 16/11/2022, 16:22 #9Forero Junior
- Fecha de ingreso
- oct 2022
- Mensajes
- 11
Re: Mi instalación aislada
Hola, soy ranademiradafija y vengo del hilo de la conexión por USB, en breve posteo lo solución que encontré.
- - - - - - - - - - - - - - - - - - -
Si aún así no te funciona este código reduce a dos o tres valores la función QPIGSExtraccion respetando la estructura para ver si vas por buen camino, finalmente yo lo único que hice fue deshabilitar 2 o tres códigos que no le sentaban muy bien.
Suerte!!!!!
Aquí está:Código:[ { "id": "62d1203b8af16501", "type": "tab", "label": "Voltronic MKS por Serie @ranademiradafija", "disabled": false, "info": "" }, { "id": "530311356f4b85da", "type": "inject", "z": "62d1203b8af16501", "name": "QPIRI Configuracion", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "7", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Configuracion", "payload": "QPIRI", "payloadType": "str", "x": 160, "y": 700, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "073494115df20364", "type": "inject", "z": "62d1203b8af16501", "name": "QFLAG Miscelanea", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "7", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Miscelanea", "payload": "QFLAG", "payloadType": "str", "x": 160, "y": 660, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "ac4d39a2954c572c", "type": "inject", "z": "62d1203b8af16501", "name": "QBEQI Ecualizacion Bateria", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Ecualizacion Bateria", "payload": "QBEQI", "payloadType": "str", "x": 190, "y": 740, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "c3efe01382974a08", "type": "inject", "z": "62d1203b8af16501", "name": "QPIWS Informacion Warnings", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "5", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Informacion Warnings", "payload": "QPIWS", "payloadType": "str", "x": 190, "y": 780, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "2dde769b0e56a02c", "type": "inject", "z": "62d1203b8af16501", "name": "QPIGS Estado General", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "4", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Estado General", "payload": "QPIGS", "payloadType": "str", "x": 170, "y": 540, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "431157f6827c8c6e", "type": "inject", "z": "62d1203b8af16501", "name": "QID Numero de Serie", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Numero de Serie", "payload": "QID", "payloadType": "str", "x": 160, "y": 500, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "a4dc307717708639", "type": "function", "z": "62d1203b8af16501", "name": "CRCTJ", "func": " // Algoritmo para lanzar los comandos hacia Voltronics por puerto serie con CRC propietario\n // Algoritmo realizado por Tejota [email protected]\n var topic = (msg.payload) + (\" \") + (msg.topic); // Topic con el comando string y posible descripcion\n var comandobuffer = Buffer.from(msg.payload); // pasando a buffer el string del comando \n var crc = 0x0000; // inicio del crc\n for (tj = 0; tj < comandobuffer.length; tj++) // scaneo del buffer\n {\n const byte = comandobuffer[tj]; // analizando el byte para aplicarle el crc16xmodem\n tejota = (crc >>> 8) & 0xff;\n tejota ^= byte & 0xff;\n tejota ^= tejota >>> 4;\n crc = (crc << 8) & 0xffff; // Algoritmo\n crc ^= tejota; // crc16 xmodem \n tejota = (tejota << 5) & 0xffff; // sin tabla estatica\n crc ^= tejota;\n tejota = (tejota << 7) & 0xffff;\n crc ^= tejota;\n } // resultante crc numerico \n var crchexastring = crc.toString(16).padStart(4,'0'); // crc numerico a string hexa añadiendo ceros a izquierda si es preciso\n var crchexabuffer = Buffer.from(crchexastring, \"hex\"); // buffer del crchexa\n for (mdk=0; mdk < crchexabuffer.length; mdk++) // scaneo del buffer\n {\n if (crchexabuffer[mdk]==10 || crchexabuffer[mdk]==13 || crchexabuffer[mdk]==40) // Exceptuando estos bytes mdk \n {\n crchexabuffer[mdk]++; // se pone el byte siguiente si es alguno de las excepciones mdk\n }\n } \n const retornodecarro = Buffer.from(\"\\r\");\n var crctotalbuffer = [comandobuffer, crchexabuffer, retornodecarro]; // construyendo el buffer final hacia el hibrido\n msg.payload = Buffer.concat(crctotalbuffer);\n msg.topic = topic;\n return msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 300, "y": 160, "wires": [ [ "cf873a0ded2c1d9b" ] ] }, { "id": "e6bffde3663395b3", "type": "debug", "z": "62d1203b8af16501", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1170, "y": 580, "wires": [] }, { "id": "5967bcc871fed256", "type": "inject", "z": "62d1203b8af16501", "name": "QVFW Firmware CPU1", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Version CPU1", "payload": "QVFW", "payloadType": "str", "x": 170, "y": 580, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "806313e10910b794", "type": "inject", "z": "62d1203b8af16501", "name": "QVFW2 Firmware CPU2", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Firmware CPU2", "payload": "QVFW2", "payloadType": "str", "x": 170, "y": 620, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "5573a0c66fcb1f24", "type": "link out", "z": "62d1203b8af16501", "name": "ParaCRCTJ", "links": [ "1033cc1b4aa91981" ], "x": 430, "y": 660, "wires": [], "l": true }, { "id": "75b994f211f84c67", "type": "comment", "z": "62d1203b8af16501", "name": "Comandos de monitorizacion", "info": "Comandos de Monitorizacion", "x": 160, "y": 460, "wires": [] }, { "id": "1033cc1b4aa91981", "type": "link in", "z": "62d1203b8af16501", "name": "CRCTJWelcome", "links": [ "5573a0c66fcb1f24" ], "x": 140, "y": 160, "wires": [ [ "a4dc307717708639" ] ], "l": true }, { "id": "f557ecd8fd8936c5", "type": "link out", "z": "62d1203b8af16501", "name": "ParaExtractores", "links": [ "1718726d1cbb50af" ], "x": 700, "y": 160, "wires": [], "l": true }, { "id": "4d10436860f748e5", "type": "switch", "z": "62d1203b8af16501", "name": "Repartidor Datos Lecturas", "property": "topic", "propertyType": "msg", "rules": [ { "t": "cont", "v": "QID", "vt": "str" }, { "t": "cont", "v": "QPIGS", "vt": "str" }, { "t": "cont", "v": "CPU1", "vt": "str" }, { "t": "cont", "v": "QVFW2", "vt": "str" }, { "t": "cont", "v": "QFLAG", "vt": "str" }, { "t": "cont", "v": "QPIRI", "vt": "str" }, { "t": "cont", "v": "QBEQI", "vt": "str" }, { "t": "cont", "v": "QPIWS", "vt": "str" }, { "t": "cont", "v": "QMOD", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 9, "x": 390, "y": 360, "wires": [ [ "206649ca84b31525" ], [ "071c3e1f4e51d9c3" ], [ "7fdf55ae43cb9de5" ], [ "23c9869208b16ae1" ], [ "aa64930c91921ffa" ], [ "10846492e277b128" ], [ "19a620d695c59e7b" ], [ "3400f1647366aff9" ], [ "317c8b7f0690ff4a" ] ] }, { "id": "1718726d1cbb50af", "type": "link in", "z": "62d1203b8af16501", "name": "ExtractoresWelcome", "links": [ "f557ecd8fd8936c5" ], "x": 150, "y": 360, "wires": [ [ "4d10436860f748e5" ] ], "l": true }, { "id": "c0d640d1f7a1a4a5", "type": "comment", "z": "62d1203b8af16501", "name": "Repartiendo por topic", "info": "", "x": 380, "y": 260, "wires": [] }, { "id": "aa64930c91921ffa", "type": "function", "z": "62d1203b8af16501", "name": "QFLAGExtraccion", "func": "var output = msg.payload.substr(1, 11);\nvar E = output.indexOf(\"E\")+1;\nvar D = output.indexOf(\"D\");\nvar enables = output.substr(E, (D-E));\nvar disables = output.substr(D+1);\nswitch (enables.includes(\"a\")){\n case true:\n buzzer = 1;\n break;\n case false: \n buzzer = 0;\n} \nswitch (enables.includes(\"b\")){\n case true:\n bypassoverload = 1;\n break;\n case false:\n bypassoverload = 0;\n break;\n} \nswitch (enables.includes(\"k\")){\n case true:\n guardapantallalcd = 1;\n break;\n case false: \n guardapantallalcd = 0;\n} \nswitch (enables.includes(\"j\")){\n case true:\n powersaving = 1;\n break;\n case false:\n powersaving = 0;\n break;\n} \nswitch (enables.includes(\"u\")){\n case true:\n overloadrestart = 1;\n break;\n case false: \n overloadrestart = 0;\n} \nswitch (enables.includes(\"v\")){\n case true:\n overtemperaturerestart = 1;\n break;\n case false:\n overtemperaturerestart = 0;\n break;\n}\nswitch (enables.includes(\"x\")){\n case true:\n luzlcd = 1;\n break;\n case false:\n luzlcd = 0;\n break;\n} \nswitch (enables.includes(\"y\")){\n case true:\n pitidosifuenteprimariafalla = 1;\n break;\n case false:\n pitidosifuenteprimariafalla = 0;\n break;\n} \nswitch (enables.includes(\"z\")){\n case true:\n grabarerrores = 1;\n break;\n case false:\n grabarerrores = 0;\n break;\n} \nreturn [\n {\n payload: {\n buzzer: buzzer,\n bypassoverload: bypassoverload,\n guardapantallalcd: guardapantallalcd,\n powersaving: powersaving,\n overloadrestart: overloadrestart,\n overtemperaturerestart: overtemperaturerestart,\n luzlcd: luzlcd,\n pitidosifuenteprimariafalla: pitidosifuenteprimariafalla,\n grabarerrores: grabarerrores,\n }\n }\n]\n", "outputs": 1, "noerr": 0, "x": 650, "y": 420, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "071c3e1f4e51d9c3", "type": "function", "z": "62d1203b8af16501", "name": "QPIGSExtraccion", "func": "var output = msg.payload.split(\" \");\nlet voltajered = parseFloat(output[0].slice(1, 5));\nlet frecuenciared = parseFloat(output[1]);\nlet voltajesalida = parseFloat(output[2]);\nlet frecuenciasalida = parseFloat(output[3]);\nlet potenciaparentesalida = parseInt(output[4]);\nlet potenciaactivasalida = parseInt(output[5]);\nlet porcentajecargasalida = parseInt(output[6]);\nlet voltajebusalta = parseInt(output[7]);\nlet voltajebateria = parseFloat(output[8]);\nlet amperioscargabat = parseInt(output[9]);\nlet capacidadbateria = parseInt(output[10])\nlet temperaturainversor = parseInt(output[11]);\nlet amperiosenplaca = parseInt(output[12]);\nlet voltajeenplaca = parseInt(output[13]);\nlet voltajescc = parseFloat(output[14]);\nlet amperiosdescargabat = parseInt(output[15]);\nlet prioridadSBU = parseInt(output[16].slice(0, 1));\nlet estadoconf = parseInt(output[16].slice(1, 2));\nlet estadoscc = parseInt(output[16].slice(2, 3));\nlet cargasconectadas = parseInt(output[16].slice(3, 4));\nlet voltajeconstantemientrascarga = parseInt(output[16].slice(4, 5));\nlet estadodecargageneral = parseInt(output[16].slice(5, 6));\nlet estadodecargasolar = parseInt(output[16].slice(6, 7));\nlet estadodecargared = parseInt(output[16].slice(7, 9));\nlet potenciaenplaca = parseInt(output[19]);\nlet estadodelmppt = parseInt(output[20].slice(0, 1));\nlet estadodelswitch = parseInt(output[20].slice(1, 2));\n/*var numerodeserie = flow.get(numerodeserie);*/\nreturn [\n {\n payload: {\n voltajered: voltajered,\n frecuenciared: frecuenciared,\n voltajesalida: voltajesalida,\n frecuenciasalida: frecuenciasalida,\n potenciaparentesalida: potenciaparentesalida,\n potenciaactivasalida: potenciaactivasalida,\n porcentajecargasalida: porcentajecargasalida,\n voltajebateria: voltajebateria,\n amperiosdescargabat: amperiosdescargabat,\n amperioscargabat: amperioscargabat,\n temperaturainversor: temperaturainversor,\n potenciaenplaca: potenciaenplaca,\n voltajeenplaca: voltajeenplaca,\n estadodelmppt: estadodelmppt,\n cargasconectadas: cargasconectadas,\n voltajebusalta: voltajebusalta,\n capacidadbateria: capacidadbateria,\n amperiosenplaca: amperiosenplaca,\n voltajescc: voltajescc,\n prioridadSBU: prioridadSBU,\n estadoconf: estadoconf,\n estadoscc: estadoscc,\n voltajeconstantemientrascarga: voltajeconstantemientrascarga,\n estadodecargageneral: estadodecargageneral,\n estadodecargasolar: estadodecargasolar,\n estadodecargared: estadodecargared,\n estadodelswitch: estadodelswitch\n },\n /* topic: {numerodeserie: numerodeserie}*/\n }\n];", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 650, "y": 300, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "10846492e277b128", "type": "function", "z": "62d1203b8af16501", "name": "QPIRIExtraccion", "func": "var output = msg.payload.split(\" \");\nlet voltajeredconf = parseFloat((output[0].slice(1, 5)));\nlet amperiosredmaxconf = parseFloat(output[1]);\nlet voltajesalidaconf = parseFloat(output[2]);\nlet frecuenciasalidaconf = parseFloat(output[3]);\nlet amperiossalidaconf = parseFloat(output[4]);\nlet potenciaaparentesalidaconf = parseFloat(output[5]);\nlet potenciaactivasalidaconf = parseFloat(output[6]);\nlet voltajebateriaconf = parseInt(output[7]);\nlet voltajelimitedescargabatconf = parseFloat(output[8]);\nlet voltajelimiterecargabatconf = parseFloat(output[22]);\nlet voltajeminimoparacorteconf = parseFloat(output[9]);\nlet voltajeabsorcionconf = parseFloat(output[10]);\nlet voltajeflotacionconf = parseFloat(output[11]);\nlet tipodebateriaconf = parseInt(output[12]);\nlet amperiosmaxcargadorbatconf = parseInt(output[13]);\nlet amperiosmaxtotalesabatconf = parseInt(output[14]);\nlet rangovoltajedentradaconf = parseInt(output[15]);\nlet prioridadfuentesalidaconf = parseInt(output[16]);\nlet prioridadcargadorbatconf = parseInt(output[17]);\nlet maximonumeroparalelosconf = parseInt(output[18]);\nlet tipodemaquina = parseInt(output[19]);\nlet tipodehibridoconf = parseInt(output[20]);\nlet tipodesalidaparaleloconf = parseInt(output[21]);\nlet potenciasolarparaleloconf = parseInt(output[23]);\nlet potenciasolarbalanceconf = parseInt(output[24]);\nreturn [\n {\n payload: {\n voltajeredconf: voltajeredconf,\n amperiosredmaxconf: amperiosredmaxconf,\n voltajesalidaconf: voltajesalidaconf,\n frecuenciasalidaconf: frecuenciasalidaconf,\n amperiossalidaconf: amperiossalidaconf,\n potenciaaparentesalidaconf: potenciaaparentesalidaconf,\n potenciaactivasalidaconf: potenciaactivasalidaconf,\n voltajebateriaconf: voltajebateriaconf,\n voltajelimiterecargabatconf: voltajelimiterecargabatconf,\n voltajelimitedescargabatconf: voltajelimitedescargabatconf,\n voltajeminimoparacorteconf: voltajeminimoparacorteconf,\n voltajeabsorcionconf: voltajeabsorcionconf,\n voltajeflotacionconf: voltajeflotacionconf,\n tipodebateriaconf: tipodebateriaconf,\n amperiosmaxcargadorbatconf: amperiosmaxcargadorbatconf,\n amperiosmaxtotalesabatconf: amperiosmaxtotalesabatconf,\n rangovoltajedentradaconf: rangovoltajedentradaconf,\n prioridadfuentesalidaconf: prioridadfuentesalidaconf,\n prioridadcargadorbatconf: prioridadcargadorbatconf,\n maximonumeroparalelosconf: maximonumeroparalelosconf,\n tipodemaquina: tipodemaquina,\n tipodehibridoconf: tipodehibridoconf,\n tipodesalidaparaleloconf: tipodesalidaparaleloconf,\n potenciasolarparaleloconf: potenciasolarparaleloconf,\n potenciasolarbalanceconf: potenciasolarbalanceconf\n }\n }\n]", "outputs": 1, "noerr": 0, "x": 640, "y": 460, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "7fdf55ae43cb9de5", "type": "function", "z": "62d1203b8af16501", "name": "QVFW Extraccion U1", "func": "var output = msg.payload;\nlet Firmware = (output.slice(10, 15));\nreturn [\n {\n payload: {\n Firmware: Firmware\n }\n }\n]", "outputs": 1, "noerr": 0, "x": 660, "y": 340, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "23c9869208b16ae1", "type": "function", "z": "62d1203b8af16501", "name": "QVFW2 Firmware U2", "func": "var output = msg.payload;\nlet Firmware2 = (output.slice(11, 16));\nreturn [\n {\n payload: {\n Firmware2: Firmware2\n }\n }\n]", "outputs": 1, "noerr": 0, "x": 660, "y": 380, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "19a620d695c59e7b", "type": "function", "z": "62d1203b8af16501", "name": "QBEQI Ecu Extrac", "func": "var output = msg.payload.split(\" \");\nlet activacionecualizacion = parseInt(output[0].slice(1, 2));\nlet tiempoecualizacion = parseInt(output[1]);\nlet diasentreecualizaciones = parseInt(output[2]);\nlet maxamperiosparaecualizar = parseInt(output[3]);\nlet diasquefaltanparaecualizar = parseInt(output[4]);\nlet voltajedeecualizacion = parseFloat(output[5]);\nlet tiempodeabsorcion = parseInt(output[6]);\nlet timeoutecualizacion = parseInt(output[7]);\nreturn [\n {\n payload: {\n activacionecualizacion: activacionecualizacion,\n tiempoecualizacion: tiempoecualizacion,\n diasentreecualizaciones: diasentreecualizaciones,\n maxamperiosparaecualizar: maxamperiosparaecualizar,\n diasquefaltanparaecualizar: diasquefaltanparaecualizar,\n voltajedeecualizacion: voltajedeecualizacion,\n tiempodeabsorcion: tiempodeabsorcion,\n timeoutecualizacion: timeoutecualizacion\n }\n }\n]", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 650, "y": 500, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "206649ca84b31525", "type": "function", "z": "62d1203b8af16501", "name": "QID Nº Serie Extrac", "func": "var numerodeserie = msg.payload.slice(1, 15);\nflow.set('numerodeserie', numerodeserie);\nreturn [\n {\n payload: {\n numerodeserie: numerodeserie\n }\n }\n];\n// Numero de Serie va a flow o incluso podria ir a global para identificar en paralelos ", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 660, "y": 260, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "d2cd464074054b9c", "type": "comment", "z": "62d1203b8af16501", "name": "Extractores", "info": "", "x": 670, "y": 220, "wires": [] }, { "id": "3400f1647366aff9", "type": "function", "z": "62d1203b8af16501", "name": "QPIWS Warnings Extrac", "func": "var output = msg.payload;\nlet reservado = parseInt(output.slice(1, 2));\nlet falloinversor = parseInt(output.slice(2, 3));\nlet fallo08voltajebusalto = parseInt(output.slice(3, 4));\nlet fallo52voltajebusbajo = parseInt(output.slice(4, 5));\nlet fallo09softwarebus = parseInt(output.slice(5, 6));\nlet peligronoacinput = parseFloat(output.slice(6, 7));\nlet peligrocortopv = parseInt(output.slice(7, 8));\nlet fallo58voltajeinversorbajo = parseInt(output.slice(8, 9));\nlet fallo06voltajeinversoralto = parseInt(output.slice(9, 10));\nlet peligro02sobretemperatura = parseInt(output.slice(10, 11));\nlet peligro01ventilador = parseInt(output.slice(11, 12));\nlet peligro03altovoltajebateria = parseInt(output.slice(12, 13));\nlet peligro04bajovoltajebateria = parseInt(output.slice(13, 14));\nlet peligro07sobrecargar = parseInt(output.slice(14, 15));\nlet peligrobateriashutdown = parseInt(output.slice(15, 16));\nlet peligro10bateriaderating = parseInt(output.slice(16, 17));\nlet peligroeeprom = parseInt(output.slice(17, 18));\nlet fallo51sobrecorriente = parseInt(output.slice(18, 19));\nlet fallosoftwareinversor = parseInt(output.slice(19, 20));\nlet falloautotest = parseInt(output.slice(20, 21));\nlet fallo55continuaenac = parseInt(output.slice(21, 22));\nlet fallo56bateriaabierta = parseInt(output.slice(22, 23));\nlet fallo57sensorcorriente = parseInt(output.slice(23, 24));\nlet fallocortobateria = parseInt(output.slice(24, 25));\nlet peligrolimitepotencia = parseInt(output.slice(25, 26));\nlet peligro13altovoltajeplaca = parseInt(output.slice(26, 27));\nlet fallompptsobrecarga = parseInt(output.slice(27, 28));\nlet peligro14mpptsobrecarga = parseInt(output.slice(28, 29));\nlet peligro12bateriabajaparamppt = parseInt(output.slice(29, 30));\nreturn [\n {\n payload: {\n falloinversor: falloinversor,\n fallo08voltajebusalto: fallo08voltajebusalto,\n fallo52voltajebusbajo: fallo52voltajebusbajo,\n fallo09softwarebus: fallo09softwarebus,\n peligronoacinput: peligronoacinput,\n peligrocortopv: peligrocortopv,\n fallo06voltajeinversoralto: fallo06voltajeinversoralto,\n peligro02sobretemperatura: peligro02sobretemperatura,\n peligro01ventilador: peligro01ventilador,\n peligro03altovoltajebateria: peligro03altovoltajebateria,\n peligro04bajovoltajebateria: peligro04bajovoltajebateria,\n peligro07sobrecargar: peligro07sobrecargar,\n peligrobateriashutdown: peligrobateriashutdown,\n peligro10bateriaderating: peligro10bateriaderating,\n peligroeeprom: peligroeeprom,\n fallo51sobrecorriente: fallo51sobrecorriente,\n fallosoftwareinversor: fallosoftwareinversor,\n falloautotest: falloautotest,\n fallo55continuaenac: fallo55continuaenac,\n fallo56bateriaabierta: fallo56bateriaabierta,\n fallo57sensorcorriente: fallo57sensorcorriente,\n fallocortobateria: fallocortobateria,\n peligro13altovoltajeplaca: peligro13altovoltajeplaca,\n fallompptsobrecarga: fallompptsobrecarga,\n peligro14mpptsobrecarga: peligro14mpptsobrecarga,\n peligro12bateriabajaparamppt: peligro12bateriabajaparamppt\n }\n }\n]", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 670, "y": 540, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "82e9ffc91252912b", "type": "join", "z": "62d1203b8af16501", "name": "Juntando Todo 4 s", "mode": "custom", "build": "merged", "property": "payload", "propertyType": "msg", "key": "topic", "joiner": "\\n", "joinerType": "str", "accumulate": false, "timeout": "4", "count": "", "reduceRight": false, "reduceExp": "", "reduceInit": "", "reduceInitType": "", "reduceFixup": "", "x": 910, "y": 380, "wires": [ [ "b65399af3de16c72" ] ] }, { "id": "fc72c5d71dbe2dcd", "type": "link out", "z": "62d1203b8af16501", "name": "TodasLecturasHibrido", "links": [], "x": 1060, "y": 460, "wires": [], "l": true }, { "id": "33a8553c508a859d", "type": "comment", "z": "62d1203b8af16501", "name": "Creando Objeto con todas las lecturas del Hibrido", "info": "", "x": 1040, "y": 320, "wires": [] }, { "id": "b65399af3de16c72", "type": "function", "z": "62d1203b8af16501", "name": "Id en topic num serie", "func": "var topic = flow.get('numerodeserie');\nmsg.topic = topic;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 1120, "y": 380, "wires": [ [ "fc72c5d71dbe2dcd", "e6bffde3663395b3" ] ] }, { "id": "cad7f4430e686605", "type": "inject", "z": "62d1203b8af16501", "name": "QMOD Modo de Trabajo", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "5", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "Modo de Trabajo", "payload": "QMOD", "payloadType": "str", "x": 170, "y": 820, "wires": [ [ "5573a0c66fcb1f24" ] ] }, { "id": "317c8b7f0690ff4a", "type": "function", "z": "62d1203b8af16501", "name": "QMOD Extractor", "func": "var output = msg.payload;\nlet mododetrabajo = output.slice(1, 2);\nreturn [{\n payload: {\n mododetrabajo: mododetrabajo\n }\n }\n ];", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 640, "y": 580, "wires": [ [ "82e9ffc91252912b" ] ] }, { "id": "6cfdc1e7d60d33ca", "type": "comment", "z": "62d1203b8af16501", "name": "RS232-USB PL2303 or FTDI Conversor", "info": "", "x": 490, "y": 100, "wires": [] }, { "id": "cf873a0ded2c1d9b", "type": "serial request", "z": "62d1203b8af16501", "name": "", "serial": "88ec1814.a229c8", "x": 490, "y": 160, "wires": [ [ "f557ecd8fd8936c5" ] ] }, { "id": "88ec1814.a229c8", "type": "serial-port", "serialport": "/dev/ttyUSB0", "serialbaud": "2400", "databits": "8", "parity": "none", "stopbits": "1", "waitfor": "", "dtr": "none", "rts": "none", "cts": "none", "dsr": "none", "newline": "\\r", "bin": "false", "out": "char", "addchar": "", "responsetimeout": "5000" } ]
- 17/11/2022, 15:31 #10Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Hola, muchas gracias.
He estado haciendo pruebas con tu código y de momento no ha habido suerte, sigo igual, lo mismo que con los otros flujos del foro.
Me salen estos errores periódicamente:
17/11/2022, 15:16:50node: QPIGSExtraccion
function : (error)
"TypeError: Cannot read properties of undefined (reading 'slice')"
Después me devuelve datos de en el payload, pero con valores null o todo cero, como por ejemplo esto:
{"buzzer":0,"
bypassoverload":0,"
guardapantallalcd":0,"
powersaving":0,"
overloadrestart":0,"
overtemperaturerestart":0,
"luzlcd":0,
"pitidosifuenteprimariafalla":0,
"grabarerrores":0}
Creo que es que la función no sirve para mi inversor porque no es un clon de voltronic no?
Que opináis?
- 18/11/2022, 16:11 #11Forero Junior
- Fecha de ingreso
- oct 2022
- Mensajes
- 11
- 19/11/2022, 10:47 #12Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Hola, he hecho lo que me comentas y me da este error:
19/11/2022, 10:30:22node: QPIGSExtraccion
function : (error)
"TypeError: Cannot read properties of undefined (reading 'slice')"
El debug 2 me canta todo del CRCTJ, cosas como esto:
19/11/2022, 10:32:21node: debug 2
QPIGS Estado General : msg.payload : buffer[8]
buffer[8]
0: 0x51
1: 0x50
2: 0x49
3: 0x47
4: 0x53
5: 0xb7
6: 0xa9
7: 0xd
Pero el debug 3 canta poco y cosas como esto:
19/11/2022, 10:47:09node: debug 3
QPIGS Estado General : msg.payload : string[85]
"���"
19/11/2022, 10:43:55node: debug 3
QPIWS Informacion Warnings : msg.payload : string[1]
""
19/11/2022, 10:44:07node: debug 3
QMOD Modo de Trabajo : msg.payload : string[13]
""
Además cuando contesta el debug 3 el nodo del serial-port me pone un timeOut y después se queda siempre en waiting
Una vez más, muchas gracias por tu ayuda!!
- 20/11/2022, 12:03 #13Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Será mi problema el dichoso cable?
estas son sus características:
https://www.amazon.es/programaci%C3%...%3D%3D&sr=8-17
Descripción del producto
Cable de programación serie USB a RJ45 RS485 para comunicación Delta IFD6500 RS485
FTDI USB RS485 cable para IFD6500
con 2 LEDs para la transferencia de datos
Módulo de placa FTDI en carcasa USB
Longitud: 1,8 m.
Genuino chip FTDI, soporte completo Windows, Vista, Android, Mac OS.
Genio conjunto de chips FT232RL Importación del Reino Unido en la placa PCB tiene señales internas configurables EEPROM y UART se pueden invertir individualmente configurando el paquete EEPROM: 1 cable de comunicación USB a RS485 RJ45 para Delta IFD6500
- 21/11/2022, 13:41 #14Forero Junior
- Fecha de ingreso
- oct 2022
- Mensajes
- 11
Re: Mi instalación aislada
Hola, efectivamente le problema lo tienes en la comunicación con el rs232 con el inversor.
Ese cable no vale porque es protocolo rs485
Este es el que yo uso, tiene que ser rs232
https://www.amazon.es/gp/product/B00...?ie=UTF8&psc=1
tendrás que probar con un cable similar, pero te recomiendo el del link
- 21/11/2022, 14:39 #15Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
Hola, pues lo tengo montado en home assistant como sistema operativo nativo. Pero por probar lo monté de nuevo todo sobre docker en un ubuntu server y tampoco funcionó.
Después probé a montar el flujo con la conexión usb, que es el cable que trae el inversor, pero me atasqué en el problema de la instalación del otro hilo que habla sobre eso.
El tema de comprar ese cable, es porque mi inversor trae la conexión rj45 y según el manual los pines ponen rs485.
El cable que tu me pones no tengo donde conectarlo en el inversor.
Tendría que usar algún tipo de adaptador o algo.
Por otra parte en el cable que he comprado pone esto: "en la placa PCB tiene señales internas configurables EEPROM y UART se pueden invertir individualmente configurando el paquete EEPROM"
Se refiere a cambiar de posición el tx y el rx del cable por software?
- 21/11/2022, 15:41 #16Forero Junior
- Fecha de ingreso
- oct 2022
- Mensajes
- 11
- 21/11/2022, 16:21 #17Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
- 21/11/2022, 17:51 #18Forero Junior
- Fecha de ingreso
- oct 2022
- Mensajes
- 11
Re: Mi instalación aislada
¿como tienes configurado el puerto en node red?
Está es mi configuración:
Lo primero que tiene que haber es comunicación con el puerto y está claro que no la hay.
Si trabajas con contenedores debes de añadir:
group_add:
- dialout
para que el contenedor node-red esté dentro del grupo dialout y pueda usar /ttyUSBx y tener los permisos.
Después de eso debes mapear el puerto también.
devices:
- "/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0:/dev/ttyUSB0"
como ves el mapeo lo hago by-id para evitar problemas.
De todos modos si es un problema de permisos te debería de aparecer en el debug.
Se trabajas sin contenedores pues solo debes asegurarte que /ttyUSB0 sea el puerto correcto.
NOTA: Ahí pongo mi cable rs232 pero como referencia porque a tí no te vale.
- 22/11/2022, 15:12 #19Forero Junior
- Fecha de ingreso
- oct 2022
- Ubicación
- Sur Occidente del Norte
- Mensajes
- 23
Re: Mi instalación aislada
El puerto de node-red lo tengo como tu, sólo cambiaba el split input que yo tengo "\n" y tu tienes "\r". Lo acabo de cambiar por probar y estoy igual.
El fin de semana que estaré allí, probaré otra vez con el sistema montado en dockers y los comandos que me recomiendas para dar permisos al puerto y mapearlo, aunque esto último creo que ya lo había hecho, pero no por by-id como me recomiendas
tu.
Mantendré el hilo actualizado cuando tenga nuevas noticias.
- 22/11/2022, 16:24 #20Forero Junior
- Fecha de ingreso
- oct 2022
- Mensajes
- 11