pablozg / freeds

Derivador de energía solar excedente
GNU General Public License v3.0
98 stars 34 forks source link

Valores no numéricos de corriente #94

Open IvanSanchez opened 1 year ago

IvanSanchez commented 1 year ago

Tengo un usuario de la integración con HomeAssistant que se queja de que la integración se cuelga cada pocas horas, https://gitlab.com/IvanSanchez/homeassistant-freeds/-/issues/14

El fallo creo que es porque FreeDS, en los mensajes JSON por websockets, manda un valor inválido para el valor de corriente (amperaje) que manda el inversor. Tengo la sospecha de que el inversor manda un valor nulo, y de alguna manera C lo convierte a la cadena "null". En consecuencia, el mensaje JSON que le llega a HA creo que contiene algo así como:

"mcurrent": "null"

Si el valor es desconocido/nulo/incorrecto, estaría mucho mejor que el JSON fuera:

"mcurrent": undefined

Y ahora que me fijo, la mayoría de los valores numéricos en el JSON son en realidad cadenas (con comillas alrrededor de los números); sería mejor que fueran numéricos.

No sé si es posible cambiar alguna configuración de la librería de serialización de JSON para forzar este comportamiento en campos que deberían ser numéricos.

pablozg commented 9 months ago

Disculpa el retraso, cuando tenga tiempo lo miro, actualmente se utiliza cJSON, por si quieres echarle un vistazo.

saludos.